INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.7_o71b26', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/sbin/usermod', '-u', '1034', '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'} and shell False DEBUG util.py:445: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.myqgbf2i', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/sbin/usermod', '-u', '1034', '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'} and shell False DEBUG util.py:445: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-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:540: Executing command: ['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'} and shell True DEBUG util.py:445: running sdist DEBUG util.py:445: [pbr] Writing ChangeLog DEBUG util.py:445: [pbr] Generating ChangeLog DEBUG util.py:445: [pbr] ChangeLog complete (0.2s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.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: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:445: adding license file 'LICENSE' 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-21.1.1.dev25 DEBUG util.py:445: creating ironic-21.1.1.dev25/api-ref DEBUG util.py:445: creating ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: creating ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/files DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/files/hooks DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/lib DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/tools DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/tools/ironic DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/tools/ironic/templates DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/upgrade DEBUG util.py:445: creating ironic-21.1.1.dev25/devstack/upgrade/from-queens DEBUG util.py:445: creating ironic-21.1.1.dev25/doc DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/_exts DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/admin/interfaces DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/cli DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/images DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/install/refarch DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/install/standalone DEBUG util.py:445: creating ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: creating ironic-21.1.1.dev25/etc DEBUG util.py:445: creating ironic-21.1.1.dev25/etc/apache2 DEBUG util.py:445: creating ironic-21.1.1.dev25/etc/ironic DEBUG util.py:445: creating ironic-21.1.1.dev25/etc/ironic/rootwrap.d DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/api/middleware DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/common/glance_service DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/db DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/storage DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/drivers/modules/xclarity DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/hacking DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/functional DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/json_samples DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/api/controllers DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/cmd DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/conf DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/dhcp DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: creating ironic-21.1.1.dev25/playbooks DEBUG util.py:445: creating ironic-21.1.1.dev25/playbooks/ci-workarounds DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source/_static DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source/_templates DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source/locale DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source/locale/en_GB DEBUG util.py:445: creating ironic-21.1.1.dev25/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: creating ironic-21.1.1.dev25/tools DEBUG util.py:445: creating ironic-21.1.1.dev25/tools/benchmark DEBUG util.py:445: creating ironic-21.1.1.dev25/tools/config DEBUG util.py:445: creating ironic-21.1.1.dev25/tools/policy DEBUG util.py:445: creating ironic-21.1.1.dev25/zuul.d DEBUG util.py:445: copying files to ironic-21.1.1.dev25... DEBUG util.py:445: copying .mailmap -> ironic-21.1.1.dev25 DEBUG util.py:445: copying .stestr.conf -> ironic-21.1.1.dev25 DEBUG util.py:445: copying AUTHORS -> ironic-21.1.1.dev25 DEBUG util.py:445: copying CONTRIBUTING.rst -> ironic-21.1.1.dev25 DEBUG util.py:445: copying ChangeLog -> ironic-21.1.1.dev25 DEBUG util.py:445: copying LICENSE -> ironic-21.1.1.dev25 DEBUG util.py:445: copying README.rst -> ironic-21.1.1.dev25 DEBUG util.py:445: copying bindep.txt -> ironic-21.1.1.dev25 DEBUG util.py:445: copying driver-requirements.txt -> ironic-21.1.1.dev25 DEBUG util.py:445: copying requirements.txt -> ironic-21.1.1.dev25 DEBUG util.py:445: copying setup.cfg -> ironic-21.1.1.dev25 DEBUG util.py:445: copying setup.py -> ironic-21.1.1.dev25 DEBUG util.py:445: copying test-requirements.txt -> ironic-21.1.1.dev25 DEBUG util.py:445: copying tox.ini -> ironic-21.1.1.dev25 DEBUG util.py:445: copying api-ref/regenerate-samples.sh -> ironic-21.1.1.dev25/api-ref DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-allocation.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-chassis.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-conductors.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-deploy-templates.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-driver-passthru.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-drivers.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-indicators.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-misc.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-allocation.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-management.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-passthru.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-bios.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-history.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-portgroups.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-ports.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-traits.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-vifs.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-volume.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups-ports.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-ports.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-volume.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-versions.inc -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/conf.py -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/index.rst -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/parameters.yaml -> ironic-21.1.1.dev25/api-ref/source DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request-2.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-show-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocations-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-root-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-v1-root-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-details-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-show-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-details-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-show-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-show-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-get-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-logical-disk-properties-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-property-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/lookup-node-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-details-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-classic.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-dynamic.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-boot-device-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-state-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-supported-boot-devices-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-history-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-component-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-get-state-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-set-state.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inject-nmi.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-maintenance-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state-deploy-steps.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-available-state.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-device.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-bios.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-uefi.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-clean-state.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-manage-state.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-power-off.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-raid-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-off.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-on.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-soft-power-off.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-traits-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-show-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-traits-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-validate-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vendor-passthru-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-attach-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-details-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-detail-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-request.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-response.json -> ironic-21.1.1.dev25/api-ref/source/samples DEBUG util.py:445: copying devstack/common_settings -> ironic-21.1.1.dev25/devstack DEBUG util.py:445: copying devstack/plugin.sh -> ironic-21.1.1.dev25/devstack DEBUG util.py:445: copying devstack/settings -> ironic-21.1.1.dev25/devstack DEBUG util.py:445: copying devstack/files/apache-ipxe-ironic.template -> ironic-21.1.1.dev25/devstack/files DEBUG util.py:445: copying devstack/files/apache-ironic-api-redirect.template -> ironic-21.1.1.dev25/devstack/files DEBUG util.py:445: copying devstack/files/bindep.txt -> ironic-21.1.1.dev25/devstack/files DEBUG util.py:445: copying devstack/files/hooks/qemu.py -> ironic-21.1.1.dev25/devstack/files/hooks DEBUG util.py:445: copying devstack/lib/ironic -> ironic-21.1.1.dev25/devstack/lib DEBUG util.py:445: copying devstack/tools/ironic/scripts/cirros-partition.sh -> ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/cleanup-node.sh -> ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/configure-vm.py -> ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/create-node.sh -> ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/setup-network.sh -> ironic-21.1.1.dev25/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/templates/brbm.xml -> ironic-21.1.1.dev25/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/tftpd-xinetd.template -> ironic-21.1.1.dev25/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/vm.xml -> ironic-21.1.1.dev25/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/upgrade/resources.sh -> ironic-21.1.1.dev25/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/settings -> ironic-21.1.1.dev25/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/shutdown.sh -> ironic-21.1.1.dev25/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/upgrade.sh -> ironic-21.1.1.dev25/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/from-queens/upgrade-ironic -> ironic-21.1.1.dev25/devstack/upgrade/from-queens DEBUG util.py:445: copying doc/requirements.txt -> ironic-21.1.1.dev25/doc DEBUG util.py:445: copying doc/source/conf.py -> ironic-21.1.1.dev25/doc/source DEBUG util.py:445: copying doc/source/index.rst -> ironic-21.1.1.dev25/doc/source DEBUG util.py:445: copying doc/source/_exts/automated_steps.py -> ironic-21.1.1.dev25/doc/source/_exts DEBUG util.py:445: copying doc/source/_exts/web_api_docstring.py -> ironic-21.1.1.dev25/doc/source/_exts DEBUG util.py:445: copying doc/source/admin/adoption.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-power.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-token.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/anaconda-deploy-interface.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/api-audit-support.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/bios.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/boot-from-volume.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/building-windows-images.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/cleaning.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/conductor-groups.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/console.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/deploy-steps.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/dhcp-less.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/fast-track.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/gmr.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/hardware-burn-in.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/index.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/inspection.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/metrics.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/multitenancy.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-deployment.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-multitenancy.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/notifications.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/portgroups.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/power-sync.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/radosgw.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/raid.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ramdisk-boot.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/report.txt -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/rescue.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/retirement.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/secure-rbac.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/security.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/troubleshooting.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/tuning.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-guide.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-to-hardware-types.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/vendor-passthru.rst -> ironic-21.1.1.dev25/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers/ansible.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/fake.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ibmc.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/idrac.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ilo.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/intel-ipmi.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipa.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipmitool.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/irmc.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/redfish.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/snmp.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/xclarity.rst -> ironic-21.1.1.dev25/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/interfaces/boot.rst -> ironic-21.1.1.dev25/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/admin/interfaces/deploy.rst -> ironic-21.1.1.dev25/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/cli/index.rst -> ironic-21.1.1.dev25/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-dbsync.rst -> ironic-21.1.1.dev25/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-status.rst -> ironic-21.1.1.dev25/doc/source/cli DEBUG util.py:445: copying doc/source/configuration/config.rst -> ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/index.rst -> ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/policy.rst -> ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-config.rst -> ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-policy.rst -> ironic-21.1.1.dev25/doc/source/configuration DEBUG util.py:445: copying doc/source/contributor/adding-new-job.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/architecture.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bios_develop.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bugs.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/community.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/contributing.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/debug-ci-failures.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/deploy-steps.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/dev-quickstart.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/drivers.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/faq.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/governance.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/index.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-boot-from-volume.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-multitenant-networking.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/jobs-description.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/notifications.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/osprofiler-support.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rbac-testing.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/releasing.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rolling-upgrades.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/states.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/third-party-ci.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vendor-passthru.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision-reflection.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi-version-history.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi.rst -> ironic-21.1.1.dev25/doc/source/contributor DEBUG util.py:445: copying doc/source/images/conceptual_architecture.png -> ironic-21.1.1.dev25/doc/source/images DEBUG util.py:445: copying doc/source/images/deployment_architecture_2.png -> ironic-21.1.1.dev25/doc/source/images DEBUG util.py:445: copying doc/source/images/logical_architecture.png -> ironic-21.1.1.dev25/doc/source/images DEBUG util.py:445: copying doc/source/images/states.svg -> ironic-21.1.1.dev25/doc/source/images DEBUG util.py:445: copying doc/source/install/advanced.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configdrive.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-cleaning.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-compute.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-images.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-swift.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-identity.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-integration.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipmi.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipv6-networking.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-networking.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-nova-flavors.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-pxe.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-tenant-networks.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/creating-images.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/deploy-ramdisk.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-drivers.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-https.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/enrollment.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/get_started.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/index.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/install-obs.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/install-rdo.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/install-ubuntu.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/install.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/next-steps.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/setup-drivers.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/standalone.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/troubleshooting.rst -> ironic-21.1.1.dev25/doc/source/install DEBUG util.py:445: copying doc/source/install/include/boot-mode.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-configure.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-prerequisites.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api-mod_wsgi.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-conductor.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-singleprocess.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/console.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/disk-label.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/kernel-boot-parameters.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/notifications.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/root-device-hints.inc -> ironic-21.1.1.dev25/doc/source/install/include DEBUG util.py:445: copying doc/source/install/refarch/common.rst -> ironic-21.1.1.dev25/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/index.rst -> ironic-21.1.1.dev25/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/small-cloud-trusted-tenants.rst -> ironic-21.1.1.dev25/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/standalone/configure.rst -> ironic-21.1.1.dev25/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/deploy.rst -> ironic-21.1.1.dev25/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/enrollment.rst -> ironic-21.1.1.dev25/doc/source/install/standalone DEBUG util.py:445: copying doc/source/user/architecture.rst -> ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: copying doc/source/user/creating-images.rst -> ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: copying doc/source/user/deploy.rst -> ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: copying doc/source/user/index.rst -> ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: copying doc/source/user/states.rst -> ironic-21.1.1.dev25/doc/source/user DEBUG util.py:445: copying etc/apache2/ironic -> ironic-21.1.1.dev25/etc/apache2 DEBUG util.py:445: copying etc/ironic/README-ironic.conf.txt -> ironic-21.1.1.dev25/etc/ironic DEBUG util.py:445: copying etc/ironic/README-policy.yaml.txt -> ironic-21.1.1.dev25/etc/ironic DEBUG util.py:445: copying etc/ironic/api_audit_map.conf.sample -> ironic-21.1.1.dev25/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> ironic-21.1.1.dev25/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> ironic-21.1.1.dev25/etc/ironic/rootwrap.d DEBUG util.py:445: copying ironic/__init__.py -> ironic-21.1.1.dev25/ironic DEBUG util.py:445: copying ironic/version.py -> ironic-21.1.1.dev25/ironic DEBUG util.py:445: copying ironic.egg-info/PKG-INFO -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/SOURCES.txt -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/dependency_links.txt -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/entry_points.txt -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/not-zip-safe -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/pbr.json -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/requires.txt -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/top_level.txt -> ironic-21.1.1.dev25/ironic.egg-info DEBUG util.py:445: copying ironic/api/__init__.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> ironic-21.1.1.dev25/ironic/api DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> ironic-21.1.1.dev25/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> ironic-21.1.1.dev25/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> ironic-21.1.1.dev25/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> ironic-21.1.1.dev25/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> ironic-21.1.1.dev25/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> ironic-21.1.1.dev25/ironic/api/middleware DEBUG util.py:445: copying ironic/cmd/__init__.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/cmd/singleprocess.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> ironic-21.1.1.dev25/ironic/cmd DEBUG util.py:445: copying ironic/common/__init__.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/grub_conf.template -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/kickstart_utils.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> ironic-21.1.1.dev25/ironic/common DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> ironic-21.1.1.dev25/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> ironic-21.1.1.dev25/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> ironic-21.1.1.dev25/ironic/common/glance_service DEBUG util.py:445: copying ironic/conductor/__init__.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/periodics.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> ironic-21.1.1.dev25/ironic/conductor DEBUG util.py:445: copying ironic/conf/__init__.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/dnsmasq.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> ironic-21.1.1.dev25/ironic/conf DEBUG util.py:445: copying ironic/db/__init__.py -> ironic-21.1.1.dev25/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> ironic-21.1.1.dev25/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> ironic-21.1.1.dev25/ironic/db DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> ironic-21.1.1.dev25/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-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> ironic-21.1.1.dev25/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/dhcp/__init__.py -> ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/dnsmasq.py -> ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> ironic-21.1.1.dev25/ironic/dhcp DEBUG util.py:445: copying ironic/drivers/__init__.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> ironic-21.1.1.dev25/ironic/drivers DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/initial_grub_cfg.template -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspector.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> ironic-21.1.1.dev25/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> ironic-21.1.1.dev25/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-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> ironic-21.1.1.dev25/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> ironic-21.1.1.dev25/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> ironic-21.1.1.dev25/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> ironic-21.1.1.dev25/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> ironic-21.1.1.dev25/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> ironic-21.1.1.dev25/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> ironic-21.1.1.dev25/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> ironic-21.1.1.dev25/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> ironic-21.1.1.dev25/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> ironic-21.1.1.dev25/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> ironic-21.1.1.dev25/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> ironic-21.1.1.dev25/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> ironic-21.1.1.dev25/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/hacking/__init__.py -> ironic-21.1.1.dev25/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> ironic-21.1.1.dev25/ironic/hacking DEBUG util.py:445: copying ironic/objects/__init__.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/node_history.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> ironic-21.1.1.dev25/ironic/objects DEBUG util.py:445: copying ironic/tests/__init__.py -> ironic-21.1.1.dev25/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> ironic-21.1.1.dev25/ironic/tests DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> ironic-21.1.1.dev25/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> ironic-21.1.1.dev25/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> ironic-21.1.1.dev25/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> ironic-21.1.1.dev25/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> ironic-21.1.1.dev25/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> ironic-21.1.1.dev25/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> ironic-21.1.1.dev25/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc_service.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> ironic-21.1.1.dev25/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> ironic-21.1.1.dev25/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_periodics.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> ironic-21.1.1.dev25/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> ironic-21.1.1.dev25/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_history.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> ironic-21.1.1.dev25/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_dnsmasq.py -> ironic-21.1.1.dev25/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> ironic-21.1.1.dev25/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> ironic-21.1.1.dev25/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot-fallback.ipxe -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspector.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> ironic-21.1.1.dev25/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> ironic-21.1.1.dev25/ironic/tests/unit/objects DEBUG util.py:445: copying playbooks/ci-workarounds/etc-neutron.yaml -> ironic-21.1.1.dev25/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/get_extra_logging.yaml -> ironic-21.1.1.dev25/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/pre.yaml -> ironic-21.1.1.dev25/playbooks/ci-workarounds DEBUG util.py:445: copying releasenotes/config.yaml -> ironic-21.1.1.dev25/releasenotes DEBUG util.py:445: copying releasenotes/notes/.placeholder -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/18.2-prelude-3c8609692bab70a3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/20.1-prelude-612672742f417477.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/5.0-release-afb1fbbe595b6bc8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Add-port-option-support-to-ipmitool-e125d07fe13c53e7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ValueDisplayName-13837c653277ff08.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/active-node-creation-a41c9869c966c82b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-api-error-77ec6c272390c488.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-erase-fallback-b07613a7042fe236.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-iboot-0a4b5471c6ace461.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-proxy-support-790e629634ca2eb7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ansible-python-interpreter-2035e0f23d407aaf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-automatic-lessee-88f8ecab7c76b65f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-from-volume-support-9f64208f083d0691.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-mode-redfish-inspect-48e2b27ef022932a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-choice-to-some-options-9fb327c48e6bfda1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-cisco-ucs-hardware-types-ee597ff0416f158f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-clean-steps-priority-88d7de5973500a7d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-config-mold-steps-idrac-1773d81953209964.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-configurable-ipmi-retriables-b6056f722f6ed3b0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-db-deadlock-handling-6bc10076537f3727.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-arg-9d8c58559c14288c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-drac-raid-interface-7023c03a96996265.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-bios-interface-c73152269701ef80.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-management-interface-9d0f45954eda643a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-raid-interface-732314cea19fe8ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-redfish-bios-interface-f5e5415108f87598.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-driver-api-fields-selector-36f12259f01b0f7a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dynamic-allocation-feature-2fd6b4df7943f178.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-gmr-3c9278d5d785895f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-healthcheck-middleware-86120fa07a7c8151.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ibmc-raid-interface-0c13826e134fb4ce.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-id-and-uuid-filtering-to-sqalchemy-api.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-idrac-verify-steps-50c1a0f0fe299922.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-inband-deploy-step-update-firmware-using-sum-cfee84a19120dd3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-uefi-https-boot-interface-f3b163a8a6243283.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-indicator-api-8c816b3828e6b43b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspect-wait-state-948f83dfe342897b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-abort-a187e6e5c1f6311d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipv6-pxe-support-8fb51c355cc977c4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iscsi-portal-port-option-bde3b386f44f2a90.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-less-vmedia-ilo-5816922c03d0fd85.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-param-config-ilo-9b2cee8b0447f82e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-params-redfish-72b87075465c87f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-sources-redfish-firmware-update-3da89f10dc0f8d21.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-bios-9c1c3d442e8acdac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-boot-mode-control-9761d4bcbd8c3a0d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-description-790097704f45af91.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-event-history-99c6166607a90f3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-resource-class-c31e26df4196293e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-notifications-97b6c79c18b48073.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-oneview-driver-96088bf470b16c34.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-option-persistent-boot-device-139cf280fb66f4f7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-owner-information-52e153faf570747e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parallel-power-syncs-b099d66e80aab616.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-advanced-net-fields-55465091f019d962.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-internal-info-b7e02889416570f7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-is-smartnic-4ce6974c8fe2732d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-prep-partition-support-d808849795906e64.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-nic-support-in-redfish-5359897135df1348.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-per-node-526fd79df17efda8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-rbac-project-manager-role-7ffc52f78ff93432.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-interface-e7e05bdd2c894d80.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-mode-support-2f1a2568e71c65d0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-inspect-interface-1577e70167f24ae4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-sensors-4e2f7e3f8a7c6d5b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-2c1f09271f96424d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-9509f3735df2aa5d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-inspection-support-e68fd6d57cb33846.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-baytech-mrp27-5007d1d7e0a52162.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-read-write-community-names-7589a8d1899c142c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmpv3-security-features-bbefb8b844813a53.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-socat-console-ipmitool-ab4402ec976c5c96.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ssl-support-4547801eedba5942.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-storage-interface-d4e64224804207fc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-no-poweroff-on-failure-86e43b3e39043990.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-smart-nic-0fc5b10ba6772f7f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-to-manage_certs-b6615e15f697bc26.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-target-raid-config-ansible-deploy-c9ae81d9d25c62fe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-timeout-parameter-to-power-methods-5f632c936497685e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-tooz-dep-85c56c74733a222d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-2202e8ce9a174ece.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-to-boot-interface-bd74aff9e250334b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_automated_clean_field-b3e7d56f4aeaf512.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_clear_job_queue-7b774d8d0e36d1b2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_reset_idrac_and_known_good_state-cdbebf97d7b87fe7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_conversion_flags_iscsi-d7f846803a647573.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_cpu_fpga_trait_for_irmc_inspection-2b63941b064f7936.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_detail_true_api_query-cb6944847830cd1a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_infiniband_support-f497767f77277a1a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_retirement_support-23c5fed7ce8f97d4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_security_capabilities_to_ilo-1ff11b01e5930cc7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/added-redfish-driver-00ff5e3f7e9d6ee8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/additonal-snmp-drivers-ae1174e6bd6ee3a6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-external-storage-interface-9b7c0a0a2afd3176.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ilo-ipxe-boot-interface-4fc75292122db80d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-kickstart-auto-url-in-template-9f716c244adff159.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-nvme-erase-switch-fa91e867e45ede3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-39fc61bc77b57beb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-support-to-ilo-vmedia-1a7228a834465633.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-secure-erase-switch-23f449c86b3648a4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-validation-7249ceb57016f0e4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adoption-feature-update-d2160954a2c36b0a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-can-request-reboot-6238e13e2e898f68.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-client-poll-ce16fd589e88c95a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-command-status-retry-f9b6f53a823c6b01.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-http-provisioning-d116b3ff36669d16.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-a000fdf37cb870e4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-off-2115fcfaac030bd0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-647acfd599e83476.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-validate-f7348ac034606b83.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-rebooted-fab20d012fe6cbe8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-817a03776bd46d5b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-support-0a5b5aa1585dfbb5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-uuid-5d86bc18849acda3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-6efa3dfc469bab02.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-ddbfbb0f27198d82.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-wol-driver-4116f64907d0db9c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent_partition_image-48a03700f41a3980.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-190ae91884d81154.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-4ca71f150a718811.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-added-owner-policy-c650074e68d03289.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-api-6ac2d262689f5f59.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-delete-26c7c2f1651759f5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-node-name-46b473ec82662f7f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-owner-policy-162c43b3abb91c76.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-restricted-rbac-create-2847943150656432.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-deleting-unbound-ports-fa78069b52f099ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-pxelinux-config-folder-to-be-defined-da0ddd397d58dcc8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-set-interface-to-node-in-available-bd6f695620c2d77f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-to-attach-vif-to-active-node-55963be2ec269043.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_custom_certificate_validation-8ba00759ed79e429.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_to_disable_automated_clean-a3ccb1e19940a7a4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/always-return-chassis-uuid-4eecbc8da2170cb1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/amt-driver-wake-up-0880ed85476968be.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-based-deploy-option-sanity-b98fa138747c16d2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-more-fixes-58d996c7031c8c4b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-instance-info-fix-a51837d8ac7b41de.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-permit-cert-validation-disable-6611d3cb9401031d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-deploy-15da234580ca0c30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-fast-track-cbecb132b6ff2b14.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-loops-de0eef0d5b79a9ff.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/any-wsgi-8d6ccb0590104146.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/apache-multiple-workers-11d4ba52c89a13e3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-3fdca1ccbb64d9b0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-cdb95e58b69a5c50.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-workers-c06ea95a0c55b8cf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/append-params-a8b9f844328da83e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/assume-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async-deprecate-b3d81d7968ea47e5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async_bios_clean_step-7348efff3f6d02c1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/auto-ifaces-fdb8c680eab711f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/automated_clean_config-0170c95ae210f953.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/backfill_version_column_db_race_condition-713fa05832b93ca5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bfv-pxe-boot-3375d331ee2f04f2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-config-manage-ccefd24054cc73ee.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-version-dfd5c95805c295c5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bmc_reset-warm-9396ac444cafd734.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-from-url-98d21670e726c518.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-ipxe-inc-workaround-548e10d1d6616752.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-copy-for-network-boot-190c713cb5e872d8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-install-fatal-6f1b9fed1d2c0ee4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bp-nova-support-instance-power-update-49c531ef13982e62.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/broken-driver-update-fc5303340080ef04.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1506657-3bcb4ef46623124d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1518374-decd73fd82c2eb94.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1548086-ed88646061b88faf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1570283-6cdc62e4ef43cb02.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1579635-cffd990b51bcb5ab.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1592335-7c5835868fe364ea.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1596421-0cb8f59073f56240.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1607527-75885e145db62d69.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611555-de1ec64ba46982ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611556-92cbfde5ee7f44d6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1672457-563d5354b41b060e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1694645-57289200e35bd883.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1696296-a972c8d879b98940.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1702158-79bf57bd4d8087b6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749433-363b747d2db67df6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749860-457292cf62e18a0e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2001832-62e244dc48c1f79e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002062-959b865ced05b746.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002093-9fcb3613d2daeced.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2003972-dae9b7d0f6180339.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004265-cd9056868295f374.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004947-e5f27e11b8f9c96d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005377-5c63357681a465ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006266-85da234583ca0c32.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006334-0cd8f59073f56241.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007567-wsman-raid-48483affdd9f9894.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007963-idrac-wsman-raid-apply-configuration-792ccf195057016b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2008058-fix-factory-reset-status.yaml-52a6119b46e33b37.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2009762-403eac24c4823d2d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30316-8c53358681e464eb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30317-a972c8d879c98941.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-35702-25da234580ca0c31.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-configdrive-5b3b9095824faf4e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-iso-from-esp-d156036aa8ef85fb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-uefi-only-iso-ce6bcb0da578d1d6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bump-min-ansible-ver-a78e7885c0e9d361.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-agentclient-per-task-ec2231684e6876d9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/caseless-conductor-restart-check-f70005fbf65f6bb6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-third-party-driver-validate-exceptions-94ed2a91c50d2d8e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-boot-option-to-local-8c326077770ab672.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ipxe-default-file-a9ed5e17fc3d022e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ramdisk-log-filename-142b10d0b02a5ca6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change_default_use_ipmitool_retries-2529ce032eae7d1b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-dynamic-allocation-enabled-e94f3b8963b114d0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_obj_versions-e86d897df673e833.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cipher_suite_versions-c64644860d3c220d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cisco-drivers-deleted-5a42a8c508704c64.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clean-nodes-stuck-in-cleaning-on-startup-443823ea4f937965.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-bios-d74a4947d2525b80.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-error-5c13c33c58404b97.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-logs-dc115b0926ae3982.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-maintenance-7ae83b1e4ff992b0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-retry-fix-89a5d0e65920a064.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-token-9755f96d1284f78a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-ipxe-f1349e2ac9ec2825.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanwait_timeout_fail-4323ba7d4d4da3e6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-hung-iscsi-sessions-d3b55c4c65fa4c8b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-node-target-power-state-de1f25be46d3e6d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-target-stable-states-4545602d7aed9898.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear_ca_cert-db41e7be9723c0fb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/collect-deployment-logs-2ec1634847c3f6a5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/concurrency-limit-control-4b101bca7136e08d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-groups-c22c17e276e63bed.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-power-sync-timeout-extension-fa5e7b5fdd679d84.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-version-backfill-9d06f2ad81aebec3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor_early_import-fd29fa8b89089977.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-deploy-image-5adb6c1963b149ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/config-drive-support-for-whole-disk-images-in-iscsi-deploy-0193c5222a7cd129.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-format-1b11f6068bd742cd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-render-8eb398d956393d60.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-in-anaconda-deploy-f2aad59b4ff809ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-using-ceph-radosgw-8c6f7b8bede2077c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-vendordata-122049bd7c6e1b67.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive_use_object_store-93cfd7dc27d90003.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configure-notifications-72824356e7d8832a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-port-allocation-bb07c43e3890c54c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/continue-node-deploy-state-63d9dc9cdcf8e37a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-api-version-check-conditional-for-nodename-439bebc02fb5493d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-detailed-instance-info-behavior-1375914a30621eca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-source-path-handling-lookups-4ce2023a56372f10.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-port-on-conductor-b921738b4b2a5def.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_csr_clean_step-a720932f61b42118.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cross-link-1ffd1a4958f14fd7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-params-cleaning-f938549964ff6df0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-check-version-c71d5f4fd89ed117.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-online_data_migration-edcf0b1cc3667582.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-no-api-tracebacks-a8a0caddc9676b06.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decouple-boot-params-2b05806435ad21e5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-boot-mode-changing-in-yoga-5012348ecfc2f45d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-policy-file-change-474a342d6b5a041a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-resource-class-e11bacfb01d6841b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-swift_account-b008d08e85bdf154.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-api-url-eb2ea29aa63a2cb5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-cinder-url-cf43cd0336c22878.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-fatal_exception_format_errors-f63b15c8aa460dff.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dell-boss-raid1-ec33e5b9c59d4021.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deny-too-long-chassis-description-0690d6f67ed002d5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-iso-swift-355ad6eba6c511b4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-configdrive-86ea2bb267211b88.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-error-d343e8cb7d1b2305.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-validate-76b2aa97e02ba669.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-steps-required-aa72cdf1c0ec0e84.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-templates-5df3368df862631c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy_steps-243b341cf742f7cc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deployment-cleaning-polling-flag-be13a866a7c302d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-agent-passthru-67d1e2cf25b30a30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-cisco-drivers-3ae79a24b76ff963.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-clustered-compute-manager-3dd68557446bcc5c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-glance-url-scheme-ceff3008cf9cf590.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-global-region-4dbea91de71ebf59.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-hash-distribution-replicas-ef0626ccc592b70e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-ibmc-9106cc3a81171738.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-inspector-enabled-901fd9c9426046c7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-irmc-031f55c3bb1fb863.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-support-for-glance-v1-8b194e6b20cbfebb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-syslinux-support-98d327c67607fc8e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-cinder-opts-e10c153768285cab.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-glance-opts-4825f000d20c2932.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-0520b08dbcd10681.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-b19a08339712cfd7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-ops-79abab5b013b7939.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-opts-2e1d9e65f00301d3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/destroy-broken-8b13de8382199aca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-less-less-2a35df67d840f9d5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-provider-clean-dhcp-9352717903d6047e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpless-deploy-4b91de74adeff781.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-deploy-steps-36486987156017d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-fast-track-d0f43850b6e80751.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-file-6f80728d76093530.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-clean-step-reset-ilo-1869a6e08f39901c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-ramdisk-5156a009812fbb17.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_task-590a91c0a5235cfb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_tasks-0ea39fa7a8a108c6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-capability-d36d126e0ad36dca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-fix-7580de913835ff44.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dnsmasq_dhcp-9154fcae927dc3de.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-cleanup-cache-twice-0395a50ad723bca8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-validate-local_link_connection-when-port-has-client-id-8e584586dc4fca50.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-double-manage-provide-cycle-6ac8a427068f87fe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-get_bios_config-vendor-passthru-causes-exception-1e1dbeeb3e924f29.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-oob-cleaning-b4b717895e243c9b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-power-on-reboot-race-condition-fe712aa9c79ee252.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-prepare-cleaning-d74ba45135d84531.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-raid10-greater-than-16-drives-a4cb107e34371a51.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-inspection-interface-b0abbad98fec1c2e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-migrate-to-dracclient-2bd8a6d1dd3fdc69.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-missing-lookup-3ad98e918e1a852a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-raid-interface-f4c02b1c4fb37e2d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac_host-deprecated-b181149246eecb47.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/driver-maintenance-0945c2939fa4e917.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-ironic-lib-rootwrap-filters-f9224173289c1e30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-py-2-7-5140cb76e321cdd1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dual-stack-ironic-493ebc7b71263aaa.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/duplicated-driver-entry-775370ad84736206.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/emit-metrics-for-api-calls-69f18fd1b9d54b05.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/empty-physical-network-2248a4adef210289.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enable-osprofiler-support-e3839b0fa90d3831.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enhanced-checksum-f5a2b7aa8632b88f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ensure-unbind-flat-vifs-and-clear-macs-34eec149618e5964.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/erase-devices-metadata-config-f39b6ca415a87757.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/error-resilient-enabled_drivers-4e9c864ed6eaddd1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/exclude-current-conductor-from-offline-conductors-2e2ef401a8b7d7e8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit_ipxe_config_options-d7bf9a743a13f523.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/expose-conductor-d13c9c4ef9d9de86.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/extends-install-bootloader-timeout-8fce9590bf405cdf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/external-ip-5ec9b7b55a90cec4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-when-vif-port-id-is-missing-7640669f9d9e705d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-interfaces-9778071f6379227b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-noop-bebc43983eb801d1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake_soft_power-32683a848a989fc2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-bios-fa9ae685c151dd24.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-deployment-f09a8b921b3aae36.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-opt-d50eab2cc58fddcb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-per-node-1fc62918e03fd74a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-steps-81bd79a2a91e1b30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-validate-723f27986a012ffe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-with-cleaning-438225116a11662d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fifteen-0da3cca48dceab8b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/file-name-too-long-72265bb3fec704f8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fips-hashlib-bca9beacc2b48fe7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-clean-up-9a25deb85bc53d9b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-ilo-temp-image-cleanup-711429d0e67807ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-anaconda-deploy-interface-bfa2cfca22b04680.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-node-name-updates-f3813295472795be.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-60bc0790ada62b26.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-71c1f2905498c50d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-url-for-v6-802abde9de8ba455.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-bug-1675529-479357c217819420.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-busy-agent-check-3cf75242b4783009.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-stuck-on-networkerror-4aedbf3673413af6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-context-image-hardlink-16f452974abc7327.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-create-configuration-0e000392d9d7f23b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-dir-permissions-bc56e83a651bbdb0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-do-not-tear-down-nodes-upon-cleaning-failure-a9cda6ae71ed2540.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drac-job-state-8c5422bbeaf15226.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drives-conversion-before-raid-creation-ea1f7eb425f79f2f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-duplcate-extra-dhcp-options-4edb729cb5bcf552.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fast-track-entry-path-467c20f97aeb2f4b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fields-missing-from-next-url-fd9fddf8e70b65ea.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-boot-device-not-persistent-de6159d8d2b60656.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-deploy-info-port.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-gmr-37332a12065c09dc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-config-file-name-88e689a982a21684.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-redfish-controller-mode-7b55c58d09240d3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-wsman-deploy-with-existing-non-bios-jobs-78aa2195d0c3016f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-boot-interface-order-238a2da9933cf28c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-firmware-update-swift-path-with-pseudo-folder-0660345510ec0bb4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspection-for-idrac-34b3ea09452af8be.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-instance-master-path-config-fa524c907a7888e5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipa-ephemeral-partition-1f1e020727a49078.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmi-numeric-password-75e080aa8bdfb9a2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmitool-console-empty-password-a8edc5e2a1a7daf6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-option6-tag-549093681dcf940c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-provisioning-routed-provider-network-bbd0c46559f618ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-interface-without-opt-enabled-4fa2f83975295e20.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-macro-4ae8bc4fe82e8f19.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-template-for-whole-disk-image-943da0311ca7aeb5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-inspection-c9ae3864a96b2588.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-s6-2.00-ipmi-incompatibility-118484a424df02b1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-keystone-parameters-cdb93576d7e7885b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mitaka-ipa-iscsi.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-multi-attached-volumes-092ffedbdcf0feac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data-e10f2bf9dc38ba1a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data2-f2600afdcc182dc4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-nonetype-object-is-not-iterable-0592926d890d6c11.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-noop-net-vif-list-a3d8ecee29097662.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-not-exist-deploy-image-for-irmc-cb82c6e0b52b8a9a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deallocate-server-8256e279af837e5d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deploy-return-values-ab2ec6ae568d95a5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pagination-marker-with-custom-field-query-65ca29001a03e036.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-path-a3a0cfd2c135ace9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-power-off-token-wipe-e7d605997f00d39d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-prepare-instance-for-agent-interface-56753bdf04dd581f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-provisioning-port-cleanup-79ee7930ca206c42.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pxe-glance-lookup-anaconda-86fe616c6286ec08.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-reboot-log-collection-c3e22fc166135e61.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-bios-apply-configuration-error-handling-464695b09e4f81ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-images-validation-9b5b2fd28314ce66.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-upgrade-7ef2fcb6bfd74e67.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-config-9e868c3e069475a1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-deploy-steps-e9ee1ea3d1f2a475.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-failed-tasks-02487c4698dea176.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-interface-type-4b3566b637cc2301.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-onreset-workflow-bfa44de6b0263a1f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-sadness-workaround-ed02cb310ff369f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-security-group-list-add-query-filters-f72cfcefa1e093d2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sensors-storage-ed5d5bbda9b46645.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-pipe-not-ready-f860c4b7a1ef71a8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-socat-command-afc840284446870a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-step-priority-overrides-edecff2a6c68dcac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-subscription-vendor-passthru-5a9af3613c0cbebc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-ssl-options-d93d653dcd404960.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sync-power-state-last-error-65fa42bad8e38c3b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-tftp-master-path-config-77face94f5db9af7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-updating-node-driver-to-classic-16b0d5ba47e74d10.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-url-collisions-43abfc8364ca34e7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vif-detach-fca221f1a1c0e9fa.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-virtualbox-localboot-not-working-558a3dec72b5116b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-bios-async-step-error-handling-80cd30c54c71c595.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-raid-async-step-error-handling-f44e2001ac018d12.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-xclarity-management-defect-ec5af0cc6d1045d9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_deploy_validation_resp_code-ed93627d1b0dfa94.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url-42fb4023fde9da2b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url_ports-8d2696a6a7ab012f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pending_non_bios_job_execution-4b22e168ac915f4f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_raid0_creation_for_multiple_disks-f47957754fca0312.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-deployment-failure-with-fasttrack-f1fe05598fbdbe4a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-execution-of-out-of-band-deploy-steps-1f5967e7bfcabbf9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-get-boot-option-for-software-raid-baa2cffd95e1f624.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-c6dfcd71a2f659a5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-noop-network-with-grub-8fd99a73b593ddba.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/flag_always_reboot-62468a7058b58823.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-persistent-common-6ef2537f7ccd0dcb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/futurist-e9c55699f479f97a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-commands-status-timeout-ecbac91ea149e755.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-supported-boot-devices-manadatory-task-0462fc072d6ea517.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-deprecations-21e7014b72a1bcef.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-keystone-dd30b884f07f83fb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-v2-83b04fec247cd22f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/gpu_dynamic_capabilities-b56b90549882b6c2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/grub-default-change-to-mac-1e301a96c49acec4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-table-in-status-check-512c1732dec56f62.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-older-agent-command-5930124fd03bb327.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-6ce212ab86c2592d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-algo-4337c18117b33070.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hctl-root-device-hints-0cab86673bc4a924.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat-locked-6e53b68337d5a258.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat_agent_version-70f4e64b19b51d87.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hexraw-support-removed-8e8fa07595a629f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/html-errors-27579342e7e8183b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-basic-auth-f8c0536eba989918.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-local-4e8f32c6d5309f12.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hw-ifaces-periodics-af8c9b93ecca9fcd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-38-169438974508f62e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-driver-45fcf9f50ebf0193.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-gpu-reporting-support-f4d80e2071f85f6a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-initial-redfish-support-27f27f18f3c1cd91.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-more-gpu-support-c3e24d8471ed6759.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-bios-support-3633d2fc94d31f62.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-boot-support-036396b48d3f71f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-inspect-support-ce74bd3d4a97b588.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-raid-support-414aad5e633a160f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-advance-python-dracclient-version-01c6ef671670ffb3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-jbod-to-raid-1a229627708e10b9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-deprecated-idrac-interface-__init__-362696b389c86d5d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-reboot-failure-c740e765ff41bcf0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-hardware-type-54383960af3459d0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-conf-partial-success-86b8bd1983d227f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-configuration-task-deleted-2a0e6a96509394b6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-clean-steps-not-require-ramdisk-699e169af39b0dd6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-clear-foreign-config-9ce4ec35cf6d7225.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-convert-from-nonraid-e9b5bbac89c71537.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-uefi-boot-mode-86f4694b4247a1ca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-bios-interface-b39a51828f61eff6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-clean-steps-not-require-ramdisk-ca98aa5c0a88f727.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-completed-with-errors-f65c9a48ed4c02d4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-set-power-state-wait-cd8f9ff41b19c7a7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-async-bios-clean-steps-15e49545ba818997.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-automated-cleaning-fails-14ee438de3dd8690.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-bios-settings-bc91524c459a4fd9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-from-iscsi-volume-41e8d510979c5037.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-interface-92831b78c5614733.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-deploy-iso-0c88edb5daff8a4e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-erase-device-priority-config-509661955a11c28e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-event-subscription-0dadf136411bd16a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-firmware-update-manual-clean-step-e6763dc6dc0d441b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-uefi-iscsi-boot-702ced18e28c5c61.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-hardware-type-48fd1c8bccd70659.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inconsistent-default-boot-mode-ef5a7c56372f89f1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inject-nmi-f487db8c3bfd08ea.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-license-activate-manual-clean-step-84d335998d708b49.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-managed-inspection-8b549c003224e011.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-prefix-d5a65ac637f82f65.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-soft-power-operations-eaef33a3ff56b047.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-support-boot-mode-management-apis-8173002daf79894c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-update-proliantutils-version-fd41a7c2a27be735.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-vendor-e8d299ae13388184.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-one-button-secure-erase-f55628f8aa767c20.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-raid-a0eac60f7d77a4fc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-sanitize-disk-erase-cc76ea66eb5fe6df.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-4082178dabd64249.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-size-28a9072901b98edf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-checksum-recalculation-sha256-fd3d5b4b0b757e86.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-download-http-976c82f440c61c96.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-no-data-c281f638d3dedfb2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-type-ac259a90393bdd2c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_checksum_optional-381acf9e441d2a58.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_download_source-842282c70b226e93.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/implement-policy-in-code-cbb0216ef5f8224f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-conductor-shutdown-42687d8b9dac4054.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-redfish-set-boot-device-e38e9e9442ab5750.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improves-node-retrieval-performance-cf5a02eb629bf32c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/in-band-steps-e4a1fe759029fea5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initial_grub-566688b16f773fcf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initrd_filename-ac68e96f1c9fb576.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-agent-drivers-cad619ec8a4874b1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-logging-e1172f549ef80b04.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-token-b3d9e8e34341d680.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-for-cisco-bffe1d1af7aec677.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-kernel-params-6db82c633d7361e2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-periodics-34449c9d77830b3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-session-179f83cbb0dc169b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-boot-mode-25732c767593f849.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-287c7fcff1081469.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-fix-043df41199529892.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-root-device-0a5190240fcc8fd8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/intel-ipmi-hardware-30aaa65cdbcb779a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid-mac-b0e3d99f23afeb30.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid_cross_device_link-7ecf3543a8ada09f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-command-retries-and-timeout-29b0be3f2c21328c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-erase_devices-skip-read-only-9f8cd9278c35a84e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-streams-raw-images-1010327b0dad763c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cipher-suite-499097740f7c86ee.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-console-port-ec6348df4eee6746.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-debug-1c7e090c6cc71903.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-noop-mgmt-8fad89dc2b4665b8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-retries-min-command-interval-070cd7eff5eb74dd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_command_retry_timeout-889a49b402e82b97.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_hex_kg_key-8f6caabe5b7d7a9b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipminative-bootdev-uefi-954a0dd825bcef97.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-bootdev-persistent-uefi-b1181a3c82343c8f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-use_ipmitool_retries-b55b2b8ed5cab603.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-vendor-3f0f52240ebbe489.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-and-uefi-7722bd5db71df02c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-boot-interface-addition-faacb344a72389f2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-default-628380290fbdbab6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-fallback-a10c8ce422caa429.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-uefi-f5be11c7b0606a84.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-use-swift-5ccf490daab809cc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-with-dhcpv6-2bc7bd7f53a70f51.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_retry_on_failure-e71fc6b3e9a5be3b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_timeout_parameter-03fc3c76c520fac2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-clean-step-reset-bios-config-a8bed625670b7fdf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-additional-capabilities-4fd72ba50d05676c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-align-with-ironic-default-boot-mode-dde6f65ea084c9e6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-append-params-380a281db43e6013.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-from-volume-4bc5d20a0a780669.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-interface-8c2e26affd1ebfc4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-iso-0e93f97acfa59778.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-change-the-way-to-get-irmc-info-in-raid-8ef5f5f60d1f534a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-convert-the-value-of-irmc-port-63c90450b5a77203.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-dealing-with-ipxe-boot-interface-incompatibility-7d0b2bdb8f9deb46.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-fix-repeatedly-resuming-clean-020f0dfc2e30d7bc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-create-raid-configuration-bccef8496520bf8c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-oob-inspection-6d072c60f6c88ecb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-set-polling-after-raid-build-5f78ee3e93a92553.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-support-ipmitool-power-a3480a70753948e5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11-prelude-6dae469633823f8d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11.1-prelude-b5ba8134953db4c2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-cfg-defaults-4708eed8adeee609.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-python-agent-multidevice-fix-3daa0760696b46b7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-status-upgrade-check-framework-9cd216ddf3afb271.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-ansible-steps-817b52269d2455b0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-deprecation-eb184141f88e7182.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-inband-cleaning-bff87aac16e5d488.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-verify-attempts-28b1d00b13ba365a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-whole-disk-cd464d589d029b01.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iso-cache-5330b63c9e3a02db.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/issue-conntrack-bionic-7483671771cf2e82.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-0edc429696aca6f9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-ipv6-host-30eca350f34bc091.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-timeout-ac30eea164b3a294.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json_rpc_http_basic-42dfc6ca2471a30e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonrpc-logging-21670015bb845182.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-4.8-1146d103b877cffd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-966f55fc79b916fc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystone-auth-3155762c524e44df.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-adapter-opts-ca4f68f568e6cf6f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-config-1baa45a0a2dd93b4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kill-old-ramdisk-6fa7a16269ff11b0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-721a19cac796e1ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-fixed-f9d30e60a53d96c4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/list-nodes-by-driver-a1ab9f2b73f652f8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/logging-keystoneauth-9db7e56c54c2473d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-heartbeat-f9772521d12a0549.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-ignore-malformed-macs-09e7e909f3a134a3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-terminal-session-timeout-configurable-b2365b7699b0f98b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-versioned-notifications-topics-configurable-18d70d573c27809e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-clean-4cc2437be1aea69a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-configdrive-contents-77fc557d6bc63b2b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/maximum-disk-erasure-concurrency-6d132bd84e3df4cf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mdns-a5f4034257139e31.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/messaging-log-level-5f870ea69db53d26.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/metrics-notifier-information-17858c8e27c795d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-to-pysnmp-hlapi-477075b5e69cc5bc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_to_hardware_types-0c85c6707c4f296d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_vif_port_id-5e1496638240933d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/min-sushy-version-change-3b697530e0c05dee.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/minor-agent-version-cleanup-842e3919a366b9d6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/missing-sw-raid-b7fdc9259612970d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multitenant-networking-0a13c4aba252573e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-root-device-hints-a1484ea01e399065.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-suffix-47aea2d265fa75ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/needs-agent-version-in-heartbeat-4e6806b679c53ec5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/net-names-b8a36aa30659ce2f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-deprecation-fe5751a47df2d0b7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-fallback-b208b2c3b40a0d01.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network-flat-use-node-uuid-for-binding-hostid-afb43097e7204b99.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network_data_schema-9342edf3c47b2a66.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-timeout-cbd82e1d09c6a46c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-update-598183909d44396c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/new_capabilities-5241619c4b46a460.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/newton-driver-deprecations-e40369be37203057.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/next-link-for-instance-uuid-f46eafe5b575f3de.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-cache-df7caa45f3d8b6d7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-drivers-e68d8527491314c3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ilo-7822af6821d2f1cc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ipmi-7ec52a7b01e40536.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-irmc-3a606045e87119b7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-oneview-e46ee2838d2b1d37.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-snmp-b77d267b535da216.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-coreos-f8717f9bb6a64627.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-deploy-rpc-dec8ee1d0326d1ad.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-downward-sql-migration-52279e875cd8b7a3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-bootif-505cc5bf48e7731f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-glance-v1-d249e8079f46f40c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-heartbeat-retries-d6837684e7257249.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-instance-uuid-workaround-fc458deb168c7a8b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-last-error-overwrite-b90aac3303eb992e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-more-legacy-auth-eeb32f907d0ab5de.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-netboot-d08f46c12edabd35.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-power-on-842b21d55b07a632.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-recalculate-653e524fd6160e72.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-device-as-kernel-param-5e5326acae7b77a4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-tokenless-agents-c6c16d79ccc0da7a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-trustedboot-01322dbaf33f8df8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-0662effa2a2644dc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-change-api-c5e392e3cd6ea54b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-credentials-cleaning-b1903f49ffeba029.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-deletion-update-resources-53862e48ab658f77.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-fault-8c59c0ecb94ba562.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-in-maintenance-fail-afd0eace24fa28be.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-lessee-4fb320a597192742.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-name-remove-720aa8007f2f8b75.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-network-data-6f998aaa57020f4b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-d7168976bba70566.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-ports-1d3193fd897feaa6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-provision-fix-ee2348b5922f7648.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-save-internal-info-c5cc8f56f1d0dab0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-storage-interface-api-1d6e217303bd53ff.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-stuck-when-conductor-down-3aa41a3abed9daf5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-traits-2d950b62eea24491.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-update-instance-info-extra-policies-862b2a70b941cf39.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/nodes-classic-drivers-cannot-set-interfaces-620b37c4e5c88b80.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/non-persistent-boot-5e3a0cd78e9dc91b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/noop-mgmt-a4b1a248492c7638.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notifications_driver_internal_info-3012f9834b6ade6b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-node-storage-interface-7fd07ee7ee71cd22.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-topic-451493784ce45e73.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notimplementederror-misspell-276a181afd652cf6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ocata-summary-a70f995cb3b18e18.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-agent-mixin-removal-b7277e8f20df5ef2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-hardware-type-69bbb79da434871f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-node-free-for-ironic-61b05fee827664cb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timeout-power-db5125e05831d925.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timing-metrics-0b6c1b54e80eb683.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/online_data_migration_update_versions-ea03aff12d9c036f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/only_default_flat_network_if_enabled-b5c6ea415239a53c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oob-power-off-7bbdf5947ed24bf8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/opentack-baremetal-request-id-daa72b785eaaaa8d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-driver-task-pattern-322e02b6a2233919.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optional-redfish-system-id-3f6e8b0ac989cb9b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/orphan-nodes-389cb6d90c2917ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-proxy-headers-middleware-22188a2976f8f460.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-reports-optional-59469955eaffdf1d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/osprofiler-61a330800abe4ee6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/override-external_http_url-per-node-f5423b00b373e528.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-6c54b4131b4ba991.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-erasure-1943da9b53a2095d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/partprobe-retries-e69e9d20f3a3c2d3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-metrics-config-to-agent-on-lookup-6db9ae187c4e8151.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-region-to-swiftclient-c8c8bf1020f62ebc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-clean-up-29c33d2516bf16ec.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-tasks-drivers-ae9cddab88b546c6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/persist-redfish-sessions-d521a0846fa45c40.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-api-version-029748f7d3be68d1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-0-is-valid-d7188af3be6f3ecb.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-bad-request-078512862c22118e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-by-project-8cfaf3b2cf0dd627.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-local-link-connection-network-type-71103d919e27fc5d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-physical-network-a7009dc514353796.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port_delete-6628b736a1b556f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-crud-notifications-91204635528972b2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-mac-649ed31c3525e4f0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-fault-recovery-6e22f0114ceee203.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-off-token-0403e8a054f31125.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/poweroff-after-10-tries-c592506f02c167c0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-seventeen-638544be837c54fa.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-victoria-e65b4c63ce1e1a7a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-to-the-stein-f25b6073b6d1c598.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-callback-url-from-being-updated-41d50b20fb236e82.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-ports-with-vif-deletion-3edac3df5aa1becf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-pxe-retry-when-token-exists-a4f38f7da56c1397.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/proliantutils_version_update-b6e5ff0e496215a5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-650acb2c8a387e17.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-unset-0620b844afbb635e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/provide_mountpoint-58cfd25b6dd4cfde.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-append-params-9cd5831959676371.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-boot-mode-9084ccf35e54bbc0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-enabled-ports-check-c1736215dce76e97.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-retry-762a00ba1089bd75.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/queens-prelude-61fb897e96ed64c5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/radosgw-temp-url-b04aac50698b4461.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-dell-boss-e9c5da9ddceedd67.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-hints-c27097ded0137f7c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-max-c0920cc44b9779ee.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-to-support-jbod-568f88207b9216e2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raise-bad-request-exception-on-validating-inspection-failure-57d7fd2999cf4ecf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-boot-fails-4e8286e6a4e0dfb6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-clean-2d3b033a401b911b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-cleaning-f4e061f978bd6ac4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-configdrive-142149339dd00b47.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-deploy-384a38c3c96059dd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-image-download-source-7a071aba7890ba95.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-validate-acbc4acdb71d10c2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raw_image_growth_factor-cba37029650e67db.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reactive-ibmc-driver-d2149ca81a198090.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reboot-do-not-power-off-if-already-1452256167d40009.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rebuild-configdrive-f52479fd55b0f5ce.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-add-root-prefix-03b5f31ec6bbd146.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-autocreate-ports-53712a46dadd8203.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-bios-interface-a1acd8122c896a38.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-a44fc569f1baca8f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-config-usb-3e9a7543b2912ae7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-default-c7b2268606172bba.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-60873289278bf28f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-eject-iso-9875388ae09bc8f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-update-a06d0624325a66ca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-bios-settings-apply-time-9b50979d2afc0d27.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-iso-pregenerated-97040711c4537726.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-power-87062756bce8b047.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-priorities-adf4b7bfbee0ca25.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-interface-e362e7a0e7140962.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-ramdisk-no-agent-490b5edb0b2387e5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-sadness-6e2a37b3f45ef1aa.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-secure-boot-8e3b2fcad137e31e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-virtual-media-permission-fix-1909b9cdbbbf9fd1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-vendor-fc76086893d99415.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_consider_password_in_session_cache-1fa84234db179053.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_mgmt_clean_steps-c983a8858835046d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redundant-maintenance-09849674334f656a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/refactor-ironic-lib-22939896d8d46a77.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/register_hardware_interfaces_together-7b458a59f5e8f41f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-4.3.0-cc531ab7190f8a00.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-reservation-on-conductor-stop-6ebbcdf92da57ca6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/releasenote-b3b25c13ea1e2844.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reloadable-301ec2aa421abf66.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removal-pre-allocation-for-oneview-09310a215b3aaf3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-DEPRECATED-options-from-[agent]-7b6cce21b5f52022.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-heartbeat-timeout-abf8787b8477bae7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent_last_heartbeat-65a9fe02f20465c5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ansible_deploy-driver-options-a28dc2f36110a67a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-app-wsgi-d5887ca28e4b9f00.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clean-nodes-38cfa633ca518f99.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clustered-compute-manager-6b45ed3803be53d1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-build-instance-info-for-deploy-2fe165fc018010e4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-deploy-erase-devices-iterations-55680ab95cbce3e9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-method-89926a8f0f4793a4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-drac_host-865be09c6e8fcb90.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-ilo-clean-priority-erase-devices-bb3073da562ed41d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-option-names-6d5d53cc70dd2d49.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-discoverd-group-03eaf75e9f94d7be.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-periodic-task-f5e513b06b601ce4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-elilo-support-7fc1227f66e59084.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-exception-message-92100debeb40d4c7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-extra-vif-port-id-ea4e59176c2065fd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-filename-param-from-vmedia-url-bf4773ede44f2206.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-glance-num-retries-24898fc9230d9497.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-inspecting-state-support-10325bdcdd182079.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipmi-retry-timeout-c1b2cf7df6771a43.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipminative-driver-3367d25bbcc41fdc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-enabled-opt-61d106f01c46acab.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-tags-with-ipv6-cf4b7937c27590d6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-verify-attempts-ede5b56b0545da08.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-locks-first-d12ac27106f800f8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-manage-tftp-0c2f4f417b92b1ee.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-messaging-aliases-0a6ba1ed392b1fed.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-metric-pxe-boot-option-1aec41aebecc1ce9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-most-unsupported-049f3401c2554a3c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-neutron-client-workarounds-996c59623684929b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-oneview-9315c7b926fd4aa2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-periodic-interval-45f57ebad9aaa14e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-policy-json-be92ffdba7bda951.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-pxe-http-5a05c54f57747bfe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-python-oneviewclient-b1d345ef861e156e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-radosgw-config-b664f3023dc8403c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ssh-power-port-delay-7ae6e5eb893439cd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-verbose-option-261f1b9e24212ee2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-vifs-on-teardown-707c8e40c46b6e64.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_vagrant-4472cedd0284557c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-glance-host-port-protocol-dc6e682097ba398f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-keystone-section-1ec46442fb332c29.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rename-iso-builder-func-46694ed6ded84f4a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/replace-neutronclient-with-openstacksdk-20c06d9d0316c2df.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-tls-3880e6bec3075f4d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-ilo-hardware-type-2392989d0fef8849.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-irmc-hardware-type-17e38197849748e0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-node-87e3b673c61ef628.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-node-names-67a08012ed1131ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reset-interface-e62036ac76b87486.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-class-change-563797d5a3c35683.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-classes-1bf903547236a473.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restart-console-on-conductor-startup-5cff6128c325b18e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restrict-sync-mode-after-device-to-supermicro-218e8cb57735c685.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restricted-allocation-creation-fix-a70dfcbcb9996602.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resume-cleaning-post-oob-reboot-b76c23f98219a8d2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/retry-vmedia-1999742c84f11103.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rolling-upgrades-ccad5159ca3cedbe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-api-version-info-9dd6cadd3d3d4bbe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-device-hints-rotational-c21f02130394e1d4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rpc-none-f05dac657eef4b66.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-boot-cf1c134bfb75768d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/security_groups-b57a5d6c30c2fae4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/server_profile_template_uri-c79e4f15cc20a1cf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-exit-77bcf3a538fab4bc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-wait-e85cbe7978f61764.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/set-boot-mode-4c42b3fd0b5f5b37.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/setting_provisioning_cleaning_network-fb60caa1cf59cdcf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shellinabox-locking-fix-2fae2a451a8a489a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shred-final-overwrite-with-zeros-50b5ba5b19c0da27.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sighup-service-reloads-configs-0e2462e3f064a2ff.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/simplify-standalone-anaconda-use-7160d0d3401e468e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-clear-job-queue-idrac-reset-if-attr-missing-b2a2b609c906c6c4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-nonraid-controllers-f4a79e2c9e8080ce.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-driver-udp-transport-settings-67419be988fcff40.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-hardware-type-ee3d471cf5c596f4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-outlet-validate-ffbe8e6687172efc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-reboot-delay-d18ee3f6c6fc0998.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp_add_power_action_delay-eba6c3a9cbd6ada3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-address-conf-5cf043fabb10bd76.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-respawn-de9e8805c820a7ac.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-power-operations-oneview-e7ac054668235998.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-4a88e6c5af9ea742.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-with-uefi-5b88e6c5af9ea743.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sofware_raid_use_rootfs_uuid-f61eb671d696d251.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sort_key_allowed_field-091f8eeedd0a2ace.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/spawn-error-2249f94606388fbd.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sqlite-fk-8c87a308a02d49bf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ssh-console-58721af6830f8892.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002600-return-503-if-no-conductors-online-ead1512628182ec4.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002637-4825d60b096e475b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004266-4725d327900850bf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004444-f540d9bbc3532ad0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006218-uefi-iso-creation-fails-ba0180991fdd0783.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006223-ilo-hpsum-firmware-update-fails-622883e4785313c1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006288-ilo-power-on-fails-with-no-boot-device-b698fef59b04e515.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006316-raid-create-fails-c3661e185fb11c9f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006321-ilo5-raid-create-fails-1bb1e648da0db0f1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2008323-fix-stuck-deploying-state-43d51149a02c08b8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/streaming-partition-images-d58fe619658b066e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/supermicro-redfish-override-enabled-aa51686ed33d3061.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-httpheaders-in-create-subscription-e383137f0db1ae21.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-irmc-driver-again-589db26927e32847.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-root-device-hints-with-operators-96cf34fa37b5b2e8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support_to_hash_rescue_password-0915927e41e6d845.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/swift_account_prefix-dbc9e68890bff47c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sync-boot-mode-after-changing-redfish-device-f60ef90ba5675215.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/taskmanager-lazy-load-32a14526c647c2f0.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/tempest_plugin_removal-009f9ce8456b16fe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-3f18cf73e4dd10d3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-b48b5981a58a30ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/train-release-59ff1643ec92c10a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/transmit-all-ports-b570009d1a008067.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/type-error-str-6826c53d7e5e1243.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-first-prepare-e7fa1e2a78b4af99.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-grub2-by-default-6b797a9e690d2dd5.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-is-now-the-default-562b0d68adc59008.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi_https_secure_boot_support-41f4976e02c11162.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/undeprecate-xclarity-4f4752017e8310e7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unix-socket-48e8f1caf4cb19f9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unrescue-token-ae664a17343e0610.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unsave-power-state-on-adopt-failed-09194c8269c779de.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-boot_mode-for-cleaning-scenario-for-ilo-hardware-type-ebca86da8fc271f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-clear-job-id-constant-fix-c69cf96c55364bb3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-idrac-redfish-management-export-conf-9fb17273c4d9a050.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-irmc-set-boot-device-fd50d9dce42aaa89.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-live-port-ee3fa9b77f5d0cf7.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-port-pxe-enabled-f954f934209cbf5b.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-20ebcc22dc2df527.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-54c0cd5c5d3c01dc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-python-scciclient-required-version-71398d5d5e1c0bf8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade_oslo_db_version-idrac_redfish_inspection_bugfix-b5edd35c337f80fc.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-current-node-driver_internal_info-5c11de8f2c2b2e87.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-dhcp-option-numbers-8b0b0efae912ff5f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-image-format-for-memory-check-25b1f06701ccdc47.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use_secrets_to_generate_token-55af0f43e5a80b9e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/v1-discovery-4311398040581fe8.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-ilo-certificates-3ab98bb8cfad7d60.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-image-url-wnen-deploying-8820f4398ea9de9f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-instance-traits-525dd3150aa6afa2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-node-properties-73509ee40f409ca2.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-port-info-before-using-it-e26135982d37c698.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-eject-vmedia-e4456320ee1c70c1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-shared-lock-6a9e32952ee6c2fe.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-subscription-5d28a2420e2af111.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/verify-bool-ab3607429e005bed.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/version-foo-2eb39b768112547f.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-7be66f8150e19819.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-revert-3961d47fe419460a.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-port-attach-17a9993bf5c21d69.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-fast-track-903076c33c4aca04.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-inject-files-b6e226e2db4cff06.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-tls-117daa5ae0a9e30d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-connector-and-target-api-dd172f121ab3af8e.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-multipath-63b96f8331e771ae.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/webserver-timeout-d85781bf634cef39.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-root-gb-9132e5a354e6cb9d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-scsi-install-bootloader-f7e791d82da476ca.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-agent-token-upon-cleaning-timeout-c9add514fad1b02c.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-disk-before-deployment-0a8b9cede4a659e9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wsgi-applications-5d36cf2a8885a56d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wwn-extension-root-device-hints-de40ca1444ba4888.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-driver-622800d17459e3f9.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-mask-password-9fe7605ece7689c3.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xenserver-ssh-driver-398084fe91ac56f1.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zed-prelude-09fe95b11ad2459d.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml -> ironic-21.1.1.dev25/releasenotes/notes DEBUG util.py:445: copying releasenotes/source/conf.py -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/icehouse.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/index.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/juno.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/kilo.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/liberty.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/mitaka.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/newton.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ocata.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/pike.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/queens.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/rocky.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/stein.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/train.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/unreleased.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ussuri.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/victoria.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/wallaby.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/xena.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/yoga.rst -> ironic-21.1.1.dev25/releasenotes/source DEBUG util.py:445: copying releasenotes/source/_static/.placeholder -> ironic-21.1.1.dev25/releasenotes/source/_static DEBUG util.py:445: copying releasenotes/source/_templates/.placeholder -> ironic-21.1.1.dev25/releasenotes/source/_templates DEBUG util.py:445: copying releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po -> ironic-21.1.1.dev25/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: copying tools/__init__.py -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/bandit.yml -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/check-releasenotes.py -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/flake8wrap.sh -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/link_aggregation_on_windows.ps1 -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/run_bashate.sh -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/states_to_dot.py -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/test-setup.sh -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/with_venv.sh -> ironic-21.1.1.dev25/tools DEBUG util.py:445: copying tools/benchmark/README -> ironic-21.1.1.dev25/tools/benchmark DEBUG util.py:445: copying tools/benchmark/do_not_run_create_benchmark_data.py -> ironic-21.1.1.dev25/tools/benchmark DEBUG util.py:445: copying tools/benchmark/generate-statistics.py -> ironic-21.1.1.dev25/tools/benchmark DEBUG util.py:445: copying tools/config/ironic-config-generator.conf -> ironic-21.1.1.dev25/tools/config DEBUG util.py:445: copying tools/policy/ironic-policy-generator.conf -> ironic-21.1.1.dev25/tools/policy DEBUG util.py:445: copying zuul.d/ironic-jobs.yaml -> ironic-21.1.1.dev25/zuul.d DEBUG util.py:445: copying zuul.d/project.yaml -> ironic-21.1.1.dev25/zuul.d DEBUG util.py:445: Writing ironic-21.1.1.dev25/setup.cfg DEBUG util.py:445: creating dist DEBUG util.py:445: Creating tar archive DEBUG util.py:445: removing 'ironic-21.1.1.dev25' (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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.48wx9781', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/sbin/usermod', '-u', '1034', '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'} and shell False DEBUG util.py:445: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.z3k8hthr', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/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'} 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: ['/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'} 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: ['/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'} 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: ['/usr/sbin/useradd', '-o', '-m', '-u', '1034', '-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'} 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-centos9-zed-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:445: libgcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: crypto-policies-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.9.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-20221130-1.el9.noarch DEBUG util.py:445: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch DEBUG util.py:445: abattis-cantarell-fonts-0.301-4.el9.noarch DEBUG util.py:445: google-droid-sans-fonts-20200215-11.el9.2.noarch DEBUG util.py:445: xkeyboard-config-2.33-2.el9.noarch DEBUG util.py:445: rust-srpm-macros-17-4.el9.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el9.noarch DEBUG util.py:445: pyproject-srpm-macros-1.6.2-1.el9.noarch DEBUG util.py:445: poppler-data-0.4.9-9.el9.noarch DEBUG util.py:445: perl-srpm-macros-1-41.el9.noarch DEBUG util.py:445: openblas-srpm-macros-2-11.el9.noarch DEBUG util.py:445: ocaml-srpm-macros-6-6.el9.noarch DEBUG util.py:445: libX11-common-1.7.0-7.el9.noarch DEBUG util.py:445: ghc-srpm-macros-1.5.0-6.el9.noarch DEBUG util.py:445: gawk-all-langpacks-5.1.0-6.el9.x86_64 DEBUG util.py:445: adwaita-cursor-theme-40.1.1-3.el9.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-10.el9.noarch DEBUG util.py:445: vim-filesystem-8.2.2637-20.el9.noarch DEBUG util.py:445: python3-setuptools-wheel-53.0.0-12.el9.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-2.el9.noarch DEBUG util.py:445: ncurses-base-6.2-8.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-8.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-8.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-5.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-34.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-21.el9.noarch DEBUG util.py:445: setup-2.13.7-9.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-39.el9.x86_64 DEBUG util.py:445: libstdc++-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 DEBUG util.py:445: libxml2-2.9.13-3.el9.x86_64 DEBUG util.py:445: bzip2-libs-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxcrypt-4.4.18-3.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: expat-2.5.0-1.el9.x86_64 DEBUG util.py:445: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-6.el9.x86_64 DEBUG util.py:445: libcap-2.48-8.el9.x86_64 DEBUG util.py:445: libuuid-2.37.4-10.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-6.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-7.el9.x86_64 DEBUG util.py:445: p11-kit-0.24.1-2.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.188-3.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-10.el9.x86_64 DEBUG util.py:445: libgpg-error-1.42-5.el9.x86_64 DEBUG util.py:445: lcms2-2.12-3.el9.x86_64 DEBUG util.py:445: nspr-4.34.0-18.el9.x86_64 DEBUG util.py:445: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: readline-8.1-4.el9.x86_64 DEBUG util.py:445: alternatives-1.20-2.el9.x86_64 DEBUG util.py:445: libgomp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libsepol-3.5-1.el9.x86_64 DEBUG util.py:445: libogg-1.3.4-6.el9.x86_64 DEBUG util.py:445: libvorbis-1.3.7-5.el9.x86_64 DEBUG util.py:445: libtool-ltdl-2.4.6-45.el9.x86_64 DEBUG util.py:445: nss-util-3.79.0-18.el9.x86_64 DEBUG util.py:445: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.19-4.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-3.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.0.7-103.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: pcre2-10.40-2.el9.x86_64 DEBUG util.py:445: libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.8-3.el9.x86_64 DEBUG util.py:445: libX11-xcb-1.7.0-7.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-3.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-6.el9.x86_64 DEBUG util.py:445: less-590-1.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-3.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.7-1.el9.x86_64 DEBUG util.py:445: libunistring-0.9.10-15.el9.x86_64 DEBUG util.py:445: libidn2-2.3.0-7.el9.x86_64 DEBUG util.py:445: lua-libs-5.4.4-3.el9.x86_64 DEBUG util.py:445: fribidi-1.0.10-6.el9.2.x86_64 DEBUG util.py:445: libICE-1.0.10-8.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: libSM-1.2.3-10.el9.x86_64 DEBUG util.py:445: libpsl-0.21.1-5.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-5.el9.x86_64 DEBUG util.py:445: mesa-libglapi-22.3.0-2.el9.x86_64 DEBUG util.py:445: libwayland-cursor-1.21.0-1.el9.x86_64 DEBUG util.py:445: libmpc-1.2.1-4.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libwayland-server-1.21.0-1.el9.x86_64 DEBUG util.py:445: exiv2-0.27.5-2.el9.x86_64 DEBUG util.py:445: exiv2-libs-0.27.5-2.el9.x86_64 DEBUG util.py:445: libxcrypt-compat-4.4.18-3.el9.x86_64 DEBUG util.py:445: unzip-6.0-56.el9.x86_64 DEBUG util.py:445: xml-common-0.6.3-58.el9.noarch DEBUG util.py:445: groff-base-1.22.4-10.el9.x86_64 DEBUG util.py:445: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: file-libs-5.39-12.el9.x86_64 DEBUG util.py:445: file-5.39-12.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-37.20210216cvs.el9.x86_64 DEBUG util.py:445: llvm-libs-15.0.7-1.el9.x86_64 DEBUG util.py:445: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: fuse-libs-2.9.9-15.el9.x86_64 DEBUG util.py:445: json-c-0.14-11.el9.x86_64 DEBUG util.py:445: libsigsegv-2.13-4.el9.x86_64 DEBUG util.py:445: gawk-5.1.0-6.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-10.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.24.1-2.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-6.el9.x86_64 DEBUG util.py:445: coreutils-8.32-34.el9.x86_64 DEBUG util.py:445: ca-certificates-2022.2.54-90.2.el9.noarch DEBUG util.py:445: systemd-libs-252-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-10.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-7.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-10.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-10.el9.x86_64 DEBUG util.py:445: gzip-1.12-1.el9.x86_64 DEBUG util.py:445: cracklib-2.9.6-27.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 DEBUG util.py:445: kmod-libs-28-8.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-12.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-7.el9.x86_64 DEBUG util.py:445: libXau-1.0.9-8.el9.x86_64 DEBUG util.py:445: libxcb-1.13.1-9.el9.x86_64 DEBUG util.py:445: libX11-1.7.0-7.el9.x86_64 DEBUG util.py:445: libXext-1.3.4-8.el9.x86_64 DEBUG util.py:445: libXrender-0.9.10-16.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 DEBUG util.py:445: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXt-1.2.0-6.el9.x86_64 DEBUG util.py:445: libXmu-1.1.3-8.el9.x86_64 DEBUG util.py:445: libXcursor-1.2.0-7.el9.x86_64 DEBUG util.py:445: libXdamage-1.1.5-7.el9.x86_64 DEBUG util.py:445: libXrandr-1.5.2-8.el9.x86_64 DEBUG util.py:445: libXinerama-1.1.4-10.el9.x86_64 DEBUG util.py:445: libXcomposite-0.4.5-7.el9.x86_64 DEBUG util.py:445: libXpm-3.5.13-8.el9.x86_64 DEBUG util.py:445: libglvnd-1.3.4-1.el9.x86_64 DEBUG util.py:445: libwayland-egl-1.21.0-1.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-5.el9.x86_64 DEBUG util.py:445: libXaw-1.0.13-19.el9.x86_64 DEBUG util.py:445: libXtst-1.2.3-16.el9.x86_64 DEBUG util.py:445: libXv-1.0.11-16.el9.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-18.el9.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-27.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-10.el9.x86_64 DEBUG util.py:445: procps-ng-3.3.17-11.el9.x86_64 DEBUG util.py:445: p11-kit-server-0.24.1-2.el9.x86_64 DEBUG util.py:445: python3-pip-wheel-21.2.3-6.el9.noarch DEBUG util.py:445: python-unversioned-command-3.9.16-1.el9.noarch DEBUG util.py:445: python3-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-3.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: python3-setools-4.4.1-1.el9.x86_64 DEBUG util.py:445: python3-pip-21.2.3-6.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.2.1-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-3.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-6.el9.noarch DEBUG util.py:445: python3-audit-3.0.7-103.el9.x86_64 DEBUG util.py:445: python3-pytz-2021.1-4.el9.noarch DEBUG util.py:445: python3-babel-2.9.1-2.el9.noarch DEBUG util.py:445: python3-tomli-2.0.1-5.el9.noarch DEBUG util.py:445: python3-docutils-0.16-6.el9.noarch DEBUG util.py:445: python3-imagesize-1.2.0-6.el9.noarch DEBUG util.py:445: python3-pygments-2.7.4-4.el9.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-10.el9.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch DEBUG util.py:445: python3-distro-1.7.0-3.el9s.noarch DEBUG util.py:445: python3-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: openssl-3.0.7-6.el9.x86_64 DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-8.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: openexr-libs-3.1.1-2.el9.x86_64 DEBUG util.py:445: iso-codes-4.6.0-3.el9.noarch DEBUG util.py:445: zip-3.0-35.el9.x86_64 DEBUG util.py:445: cpp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: bubblewrap-0.4.1-6.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.5-1.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-3.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-softokn-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-3.79.0-18.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-10.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: fftw-libs-double-3.3.8-12.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: dwz-0.14-3.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.20.2-6.el9.x86_64 DEBUG util.py:445: exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64 DEBUG util.py:445: bzip2-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxkbcommon-1.0.3-4.el9.x86_64 DEBUG util.py:445: libxslt-1.1.34-9.el9.x86_64 DEBUG util.py:445: graphite2-1.3.14-9.el9.x86_64 DEBUG util.py:445: webrtc-audio-processing-0.3.1-8.el9.x86_64 DEBUG util.py:445: info-6.7-15.el9.x86_64 DEBUG util.py:445: ed-1.14.2-12.el9.x86_64 DEBUG util.py:445: patch-2.7.6-16.el9.x86_64 DEBUG util.py:445: tcl-8.6.10-7.el9.x86_64 DEBUG util.py:445: libfontenc-1.1.3-17.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-8.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: perl-Digest-1.19-4.el9.noarch DEBUG util.py:445: perl-Digest-MD5-2.58-4.el9.x86_64 DEBUG util.py:445: perl-B-1.80-480.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-480.el9.noarch DEBUG util.py:445: perl-AutoLoader-5.74-480.el9.noarch DEBUG util.py:445: perl-Data-Dumper-2.174-462.el9.x86_64 DEBUG util.py:445: perl-libnet-3.13-4.el9.noarch DEBUG util.py:445: perl-base-2.27-480.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-Net-SSLeay-1.92-2.el9.x86_64 DEBUG util.py:445: perl-if-0.60.800-480.el9.noarch DEBUG util.py:445: perl-IO-Socket-IP-0.41-5.el9.noarch DEBUG util.py:445: perl-Time-Local-1.300-7.el9.noarch DEBUG util.py:445: perl-File-Path-2.18-4.el9.noarch DEBUG util.py:445: perl-IO-Socket-SSL-2.073-1.el9.noarch DEBUG util.py:445: perl-Pod-Escapes-1.07-460.el9.noarch DEBUG util.py:445: perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch DEBUG util.py:445: perl-Mozilla-CA-20200520-6.el9.noarch DEBUG util.py:445: perl-Class-Struct-0.66-480.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-480.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-480.el9.noarch DEBUG util.py:445: perl-subs-1.03-480.el9.noarch DEBUG util.py:445: perl-File-Temp-0.231.100-4.el9.noarch DEBUG util.py:445: perl-Term-Cap-1.17-460.el9.noarch DEBUG util.py:445: perl-Pod-Simple-3.42-4.el9.noarch DEBUG util.py:445: perl-HTTP-Tiny-0.076-460.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-480.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-480.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-480.el9.noarch DEBUG util.py:445: perl-podlators-4.14-460.el9.noarch DEBUG util.py:445: perl-Pod-Perldoc-3.28.01-461.el9.noarch DEBUG util.py:445: perl-Fcntl-1.13-480.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-480.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-480.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-480.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-480.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-480.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-480.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-480.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-480.el9.noarch DEBUG util.py:445: perl-Getopt-Long-2.52-4.el9.noarch DEBUG util.py:445: perl-Carp-1.50-460.el9.noarch DEBUG util.py:445: perl-Exporter-5.74-461.el9.noarch DEBUG util.py:445: perl-NDBM_File-1.15-480.el9.x86_64 DEBUG util.py:445: perl-PathTools-3.78-461.el9.x86_64 DEBUG util.py:445: perl-Encode-3.08-462.el9.x86_64 DEBUG util.py:445: perl-libs-5.32.1-480.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-480.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-12.el9.noarch DEBUG util.py:445: bluez-libs-5.56-6.el9.x86_64 DEBUG util.py:445: cpio-2.13-16.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libcbor-0.7.0-5.el9.x86_64 DEBUG util.py:445: libdb-5.3.28-53.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-2.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: pam-1.5.1-14.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-10.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-7.el9.x86_64 DEBUG util.py:445: systemd-pam-252-8.el9.x86_64 DEBUG util.py:445: systemd-252-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-7.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.187-7.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.187-7.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-2.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.188-3.el9.noarch DEBUG util.py:445: elfutils-libs-0.188-3.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-28.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-8.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.114-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-libgbm-22.3.0-2.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-vulkan-drivers-22.3.0-2.el9.x86_64 DEBUG util.py:445: vulkan-loader-1.3.239.0-1.el9.x86_64 DEBUG util.py:445: libpipeline-1.5.3-4.el9.x86_64 DEBUG util.py:445: man-db-2.9.3-7.el9.x86_64 DEBUG util.py:445: environment-modules-5.0.1-2.el9.x86_64 DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 DEBUG util.py:445: krb5-libs-1.20.1-8.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: openldap-2.6.2-3.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-8.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-23.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.188-3.el9.x86_64 DEBUG util.py:445: elfutils-0.188-3.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-10.el9.x86_64 DEBUG util.py:445: curl-7.76.1-23.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: policycoreutils-3.5-1.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: scl-utils-2.0.3-4.el9.x86_64 DEBUG util.py:445: efi-srpm-macros-4-9.el9.noarch DEBUG util.py:445: lua-srpm-macros-1-6.el9.noarch DEBUG util.py:445: tpm2-tss-3.0.3-8.el9.x86_64 DEBUG util.py:445: systemd-udev-252-8.el9.x86_64 DEBUG util.py:445: libfido2-1.6.0-7.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-28.el9.x86_64 DEBUG util.py:445: git-core-2.39.1-1.el9.x86_64 DEBUG util.py:445: make-4.3-7.el9.x86_64 DEBUG util.py:445: nettle-3.8-3.el9.x86_64 DEBUG util.py:445: gnutls-3.7.6-20.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-6.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-8.el9.x86_64 DEBUG util.py:445: fontconfig-2.14.0-2.el9.x86_64 DEBUG util.py:445: cairo-1.17.4-7.el9.x86_64 DEBUG util.py:445: json-glib-1.6.6-1.el9.x86_64 DEBUG util.py:445: atk-2.36.0-5.el9.x86_64 DEBUG util.py:445: cairo-gobject-1.17.4-7.el9.x86_64 DEBUG util.py:445: polkit-libs-0.117-11.el9.x86_64 DEBUG util.py:445: gstreamer1-1.18.4-4.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-17.el9.x86_64 DEBUG util.py:445: polkit-0.117-11.el9.x86_64 DEBUG util.py:445: polkit-pkla-compat-0.1-21.el9.x86_64 DEBUG util.py:445: gsettings-desktop-schemas-40.0-6.el9.x86_64 DEBUG util.py:445: dconf-0.40.0-6.el9.x86_64 DEBUG util.py:445: rtkit-0.11-28.el9.x86_64 DEBUG util.py:445: libgxps-0.3.2-3.el9.x86_64 DEBUG util.py:445: gd-2.3.2-3.el9.x86_64 DEBUG util.py:445: libXft-2.3.3-8.el9.x86_64 DEBUG util.py:445: poppler-21.01.0-14.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-14.el9.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-c059-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-gothic-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-p052-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-z003-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-fonts-20200910-6.el9.noarch DEBUG util.py:445: libraqm-0.7.0-7.el9s.x86_64 DEBUG util.py:445: mkfontscale-1.2.1-3.el9.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch DEBUG util.py:445: ModemManager-glib-1.20.2-1.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.43.4-1.el9.x86_64 DEBUG util.py:445: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: libgudev-237-1.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.6-3.el9.x86_64 DEBUG util.py:445: colord-libs-1.4.5-4.el9.x86_64 DEBUG util.py:445: shared-mime-info-2.1-5.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.42.6-3.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-modules-2.42.6-3.el9.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.24.31-2.el9.x86_64 DEBUG util.py:445: libgsf-1.14.47-5.el9.x86_64 DEBUG util.py:445: libnotify-0.7.9-8.el9.x86_64 DEBUG util.py:445: at-spi2-core-2.40.3-1.el9.x86_64 DEBUG util.py:445: at-spi2-atk-2.38.0-4.el9.x86_64 DEBUG util.py:445: avahi-glib-0.8-12.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.7-2.el9.x86_64 DEBUG util.py:445: graphene-1.10.6-2.el9.x86_64 DEBUG util.py:445: libgexiv2-0.12.3-1.el9.x86_64 DEBUG util.py:445: low-memory-monitor-2.1-4.el9.x86_64 DEBUG util.py:445: totem-pl-parser-3.26.6-2.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.38.5-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-2.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 DEBUG util.py:445: ostree-libs-2022.6-3.el9.x86_64 DEBUG util.py:445: which-2.21-29.el9.x86_64 DEBUG util.py:445: fuse-2.9.9-15.el9.x86_64 DEBUG util.py:445: checkpolicy-3.5-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.5-1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.5-1.el9.noarch DEBUG util.py:445: gcc-toolset-12-runtime-12.0-5.el9.x86_64 DEBUG util.py:445: gcc-toolset-12-binutils-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-39.el9.x86_64 DEBUG util.py:445: fdk-aac-free-2.0.0-8.el9.x86_64 DEBUG util.py:445: giflib-5.2.1-9.el9.x86_64 DEBUG util.py:445: libxcrypt-devel-4.4.18-3.el9.x86_64 DEBUG util.py:445: gcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: annobin-11.13-1.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: fonts-srpm-macros-2.0.5-7.el9.1.noarch DEBUG util.py:445: go-srpm-macros-3.0.9-9.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-52.el9.noarch DEBUG util.py:445: redhat-rpm-config-199-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-8.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-7.el9.x86_64 DEBUG util.py:445: jbig2dec-libs-0.19-7.el9.x86_64 DEBUG util.py:445: libasyncns-0.8-22.el9.x86_64 DEBUG util.py:445: pulseaudio-libs-15.0-2.el9.x86_64 DEBUG util.py:445: libcanberra-0.30-26.el9.x86_64 DEBUG util.py:445: pulseaudio-utils-15.0-2.el9.x86_64 DEBUG util.py:445: libdatrie-0.2.13-4.el9.x86_64 DEBUG util.py:445: libthai-0.1.28-8.el9.x86_64 DEBUG util.py:445: pango-1.48.7-3.el9.x86_64 DEBUG util.py:445: librsvg2-2.50.7-1.el9.x86_64 DEBUG util.py:445: libepoxy-1.5.5-4.el9.x86_64 DEBUG util.py:445: libexif-0.6.22-6.el9.x86_64 DEBUG util.py:445: libijs-0.35-15.el9.x86_64 DEBUG util.py:445: libgs-9.54.0-9.el9.x86_64 DEBUG util.py:445: libiptcdata-1.0.5-9.el9.x86_64 DEBUG util.py:445: libldac-2.0.2.3-10.el9.x86_64 DEBUG util.py:445: libsbc-1.4-9.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-libs-0.3.47-2.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-0.3.47-2.el9.x86_64 DEBUG util.py:445: flatpak-1.12.7-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.4-1.el9.x86_64 DEBUG util.py:445: libvisual-0.4.0-34.el9.x86_64 DEBUG util.py:445: libwmf-lite-0.2.12-10.el9.x86_64 DEBUG util.py:445: orc-0.4.31-6.el9.x86_64 DEBUG util.py:445: gstreamer1-plugins-base-1.18.4-5.el9.x86_64 DEBUG util.py:445: libtracker-sparql-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-miners-3.1.2-3.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-26.el9.x86_64 DEBUG util.py:445: gtk3-3.24.31-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64 DEBUG util.py:445: gtk2-2.24.33-8.el9.x86_64 DEBUG util.py:445: libcanberra-gtk2-0.30-26.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-25.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-7.el9.noarch DEBUG util.py:445: pipewire-alsa-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-0.3.47-2.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.16-1.el9.x86_64 DEBUG util.py:445: rpm-build-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: python3-pbr-5.10.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.1-4.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.45-3.el9.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch DEBUG util.py:445: gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-39.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-299.el9.x86_64 DEBUG util.py:445: tzdata-2023c-1.el9.noarch DEBUG util.py:445: glibc-common-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-2.34-65.el9.x86_64 DEBUG util.py:445: libsemanage-3.5-2.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-65.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.5-2.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '-y', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '-y', '--releasever', '9', '--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-centos9-zed-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'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-python-tempestconf-b0ee1bcdacd85b073b7 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-332d7deeba740b9fd8a6 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-django-horizon-987c876de4c4ee77 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-role-collect-logs-61ec0ed10328 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ironic-ec6c37579675c8f0b8247 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-tcib-03c10e7f35d3a0f4f69b6f7d33 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-7c30c9e000b58055b61 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-tripleo-ansible-d67647f665df8d4b6979c4 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-5968c822bebbaa47e 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-ed36d82a 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-1cf650bf4f25f15ae80c31a 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-bff964511e9dcce0848f6 54 kB/s | 29 kB 00:00 DEBUG util.py:445: delorean-openstack-tripleo-validations-e427f2e9 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-06a18202ab52c64803f04 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-708df56d5a88a3204c2e98 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-e7bbb17e1e3d16540b4ef 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ovn-bgp-agent-921d93896b780930760b84fb 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 17 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 28 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 32 kB/s | 8.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 42 kB/s | 8.6 kB 00:00 DEBUG util.py:445: dlrn-zed-testing 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-zed-build-deps 11 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 12 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:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:445: libgcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: crypto-policies-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.9.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-20221130-1.el9.noarch DEBUG util.py:445: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch DEBUG util.py:445: abattis-cantarell-fonts-0.301-4.el9.noarch DEBUG util.py:445: google-droid-sans-fonts-20200215-11.el9.2.noarch DEBUG util.py:445: xkeyboard-config-2.33-2.el9.noarch DEBUG util.py:445: rust-srpm-macros-17-4.el9.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el9.noarch DEBUG util.py:445: pyproject-srpm-macros-1.6.2-1.el9.noarch DEBUG util.py:445: poppler-data-0.4.9-9.el9.noarch DEBUG util.py:445: perl-srpm-macros-1-41.el9.noarch DEBUG util.py:445: openblas-srpm-macros-2-11.el9.noarch DEBUG util.py:445: ocaml-srpm-macros-6-6.el9.noarch DEBUG util.py:445: libX11-common-1.7.0-7.el9.noarch DEBUG util.py:445: ghc-srpm-macros-1.5.0-6.el9.noarch DEBUG util.py:445: gawk-all-langpacks-5.1.0-6.el9.x86_64 DEBUG util.py:445: adwaita-cursor-theme-40.1.1-3.el9.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-10.el9.noarch DEBUG util.py:445: vim-filesystem-8.2.2637-20.el9.noarch DEBUG util.py:445: python3-setuptools-wheel-53.0.0-12.el9.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-2.el9.noarch DEBUG util.py:445: ncurses-base-6.2-8.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-8.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-8.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-5.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-34.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-21.el9.noarch DEBUG util.py:445: setup-2.13.7-9.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-39.el9.x86_64 DEBUG util.py:445: libstdc++-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 DEBUG util.py:445: libxml2-2.9.13-3.el9.x86_64 DEBUG util.py:445: bzip2-libs-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxcrypt-4.4.18-3.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: expat-2.5.0-1.el9.x86_64 DEBUG util.py:445: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-6.el9.x86_64 DEBUG util.py:445: libcap-2.48-8.el9.x86_64 DEBUG util.py:445: libuuid-2.37.4-10.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-6.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-7.el9.x86_64 DEBUG util.py:445: p11-kit-0.24.1-2.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.188-3.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-10.el9.x86_64 DEBUG util.py:445: libgpg-error-1.42-5.el9.x86_64 DEBUG util.py:445: lcms2-2.12-3.el9.x86_64 DEBUG util.py:445: nspr-4.34.0-18.el9.x86_64 DEBUG util.py:445: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: readline-8.1-4.el9.x86_64 DEBUG util.py:445: alternatives-1.20-2.el9.x86_64 DEBUG util.py:445: libgomp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libsepol-3.5-1.el9.x86_64 DEBUG util.py:445: libogg-1.3.4-6.el9.x86_64 DEBUG util.py:445: libvorbis-1.3.7-5.el9.x86_64 DEBUG util.py:445: libtool-ltdl-2.4.6-45.el9.x86_64 DEBUG util.py:445: nss-util-3.79.0-18.el9.x86_64 DEBUG util.py:445: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.19-4.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-3.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.0.7-103.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: pcre2-10.40-2.el9.x86_64 DEBUG util.py:445: libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.8-3.el9.x86_64 DEBUG util.py:445: libX11-xcb-1.7.0-7.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-3.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-6.el9.x86_64 DEBUG util.py:445: less-590-1.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-3.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.7-1.el9.x86_64 DEBUG util.py:445: libunistring-0.9.10-15.el9.x86_64 DEBUG util.py:445: libidn2-2.3.0-7.el9.x86_64 DEBUG util.py:445: lua-libs-5.4.4-3.el9.x86_64 DEBUG util.py:445: fribidi-1.0.10-6.el9.2.x86_64 DEBUG util.py:445: libICE-1.0.10-8.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: libSM-1.2.3-10.el9.x86_64 DEBUG util.py:445: libpsl-0.21.1-5.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-5.el9.x86_64 DEBUG util.py:445: mesa-libglapi-22.3.0-2.el9.x86_64 DEBUG util.py:445: libwayland-cursor-1.21.0-1.el9.x86_64 DEBUG util.py:445: libmpc-1.2.1-4.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libwayland-server-1.21.0-1.el9.x86_64 DEBUG util.py:445: exiv2-0.27.5-2.el9.x86_64 DEBUG util.py:445: exiv2-libs-0.27.5-2.el9.x86_64 DEBUG util.py:445: libxcrypt-compat-4.4.18-3.el9.x86_64 DEBUG util.py:445: unzip-6.0-56.el9.x86_64 DEBUG util.py:445: xml-common-0.6.3-58.el9.noarch DEBUG util.py:445: groff-base-1.22.4-10.el9.x86_64 DEBUG util.py:445: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: file-libs-5.39-12.el9.x86_64 DEBUG util.py:445: file-5.39-12.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-37.20210216cvs.el9.x86_64 DEBUG util.py:445: llvm-libs-15.0.7-1.el9.x86_64 DEBUG util.py:445: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: fuse-libs-2.9.9-15.el9.x86_64 DEBUG util.py:445: json-c-0.14-11.el9.x86_64 DEBUG util.py:445: libsigsegv-2.13-4.el9.x86_64 DEBUG util.py:445: gawk-5.1.0-6.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-10.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.24.1-2.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-6.el9.x86_64 DEBUG util.py:445: coreutils-8.32-34.el9.x86_64 DEBUG util.py:445: ca-certificates-2022.2.54-90.2.el9.noarch DEBUG util.py:445: systemd-libs-252-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-10.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-7.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-10.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-10.el9.x86_64 DEBUG util.py:445: gzip-1.12-1.el9.x86_64 DEBUG util.py:445: cracklib-2.9.6-27.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 DEBUG util.py:445: kmod-libs-28-8.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-12.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-7.el9.x86_64 DEBUG util.py:445: libXau-1.0.9-8.el9.x86_64 DEBUG util.py:445: libxcb-1.13.1-9.el9.x86_64 DEBUG util.py:445: libX11-1.7.0-7.el9.x86_64 DEBUG util.py:445: libXext-1.3.4-8.el9.x86_64 DEBUG util.py:445: libXrender-0.9.10-16.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 DEBUG util.py:445: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXt-1.2.0-6.el9.x86_64 DEBUG util.py:445: libXmu-1.1.3-8.el9.x86_64 DEBUG util.py:445: libXcursor-1.2.0-7.el9.x86_64 DEBUG util.py:445: libXdamage-1.1.5-7.el9.x86_64 DEBUG util.py:445: libXrandr-1.5.2-8.el9.x86_64 DEBUG util.py:445: libXinerama-1.1.4-10.el9.x86_64 DEBUG util.py:445: libXcomposite-0.4.5-7.el9.x86_64 DEBUG util.py:445: libXpm-3.5.13-8.el9.x86_64 DEBUG util.py:445: libglvnd-1.3.4-1.el9.x86_64 DEBUG util.py:445: libwayland-egl-1.21.0-1.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-5.el9.x86_64 DEBUG util.py:445: libXaw-1.0.13-19.el9.x86_64 DEBUG util.py:445: libXtst-1.2.3-16.el9.x86_64 DEBUG util.py:445: libXv-1.0.11-16.el9.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-18.el9.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-27.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-10.el9.x86_64 DEBUG util.py:445: procps-ng-3.3.17-11.el9.x86_64 DEBUG util.py:445: p11-kit-server-0.24.1-2.el9.x86_64 DEBUG util.py:445: python3-pip-wheel-21.2.3-6.el9.noarch DEBUG util.py:445: python-unversioned-command-3.9.16-1.el9.noarch DEBUG util.py:445: python3-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-3.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: python3-setools-4.4.1-1.el9.x86_64 DEBUG util.py:445: python3-pip-21.2.3-6.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.2.1-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-3.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-6.el9.noarch DEBUG util.py:445: python3-audit-3.0.7-103.el9.x86_64 DEBUG util.py:445: python3-pytz-2021.1-4.el9.noarch DEBUG util.py:445: python3-babel-2.9.1-2.el9.noarch DEBUG util.py:445: python3-tomli-2.0.1-5.el9.noarch DEBUG util.py:445: python3-docutils-0.16-6.el9.noarch DEBUG util.py:445: python3-imagesize-1.2.0-6.el9.noarch DEBUG util.py:445: python3-pygments-2.7.4-4.el9.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-10.el9.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch DEBUG util.py:445: python3-distro-1.7.0-3.el9s.noarch DEBUG util.py:445: python3-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: openssl-3.0.7-6.el9.x86_64 DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-8.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: openexr-libs-3.1.1-2.el9.x86_64 DEBUG util.py:445: iso-codes-4.6.0-3.el9.noarch DEBUG util.py:445: zip-3.0-35.el9.x86_64 DEBUG util.py:445: cpp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: bubblewrap-0.4.1-6.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.5-1.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-3.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-softokn-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-3.79.0-18.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-10.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: fftw-libs-double-3.3.8-12.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: dwz-0.14-3.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.20.2-6.el9.x86_64 DEBUG util.py:445: exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64 DEBUG util.py:445: bzip2-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxkbcommon-1.0.3-4.el9.x86_64 DEBUG util.py:445: libxslt-1.1.34-9.el9.x86_64 DEBUG util.py:445: graphite2-1.3.14-9.el9.x86_64 DEBUG util.py:445: webrtc-audio-processing-0.3.1-8.el9.x86_64 DEBUG util.py:445: info-6.7-15.el9.x86_64 DEBUG util.py:445: ed-1.14.2-12.el9.x86_64 DEBUG util.py:445: patch-2.7.6-16.el9.x86_64 DEBUG util.py:445: tcl-8.6.10-7.el9.x86_64 DEBUG util.py:445: libfontenc-1.1.3-17.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-8.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: perl-Digest-1.19-4.el9.noarch DEBUG util.py:445: perl-Digest-MD5-2.58-4.el9.x86_64 DEBUG util.py:445: perl-B-1.80-480.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-480.el9.noarch DEBUG util.py:445: perl-AutoLoader-5.74-480.el9.noarch DEBUG util.py:445: perl-Data-Dumper-2.174-462.el9.x86_64 DEBUG util.py:445: perl-libnet-3.13-4.el9.noarch DEBUG util.py:445: perl-base-2.27-480.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-Net-SSLeay-1.92-2.el9.x86_64 DEBUG util.py:445: perl-if-0.60.800-480.el9.noarch DEBUG util.py:445: perl-IO-Socket-IP-0.41-5.el9.noarch DEBUG util.py:445: perl-Time-Local-1.300-7.el9.noarch DEBUG util.py:445: perl-File-Path-2.18-4.el9.noarch DEBUG util.py:445: perl-IO-Socket-SSL-2.073-1.el9.noarch DEBUG util.py:445: perl-Pod-Escapes-1.07-460.el9.noarch DEBUG util.py:445: perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch DEBUG util.py:445: perl-Mozilla-CA-20200520-6.el9.noarch DEBUG util.py:445: perl-Class-Struct-0.66-480.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-480.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-480.el9.noarch DEBUG util.py:445: perl-subs-1.03-480.el9.noarch DEBUG util.py:445: perl-File-Temp-0.231.100-4.el9.noarch DEBUG util.py:445: perl-Term-Cap-1.17-460.el9.noarch DEBUG util.py:445: perl-Pod-Simple-3.42-4.el9.noarch DEBUG util.py:445: perl-HTTP-Tiny-0.076-460.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-480.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-480.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-480.el9.noarch DEBUG util.py:445: perl-podlators-4.14-460.el9.noarch DEBUG util.py:445: perl-Pod-Perldoc-3.28.01-461.el9.noarch DEBUG util.py:445: perl-Fcntl-1.13-480.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-480.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-480.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-480.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-480.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-480.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-480.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-480.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-480.el9.noarch DEBUG util.py:445: perl-Getopt-Long-2.52-4.el9.noarch DEBUG util.py:445: perl-Carp-1.50-460.el9.noarch DEBUG util.py:445: perl-Exporter-5.74-461.el9.noarch DEBUG util.py:445: perl-NDBM_File-1.15-480.el9.x86_64 DEBUG util.py:445: perl-PathTools-3.78-461.el9.x86_64 DEBUG util.py:445: perl-Encode-3.08-462.el9.x86_64 DEBUG util.py:445: perl-libs-5.32.1-480.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-480.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-12.el9.noarch DEBUG util.py:445: bluez-libs-5.56-6.el9.x86_64 DEBUG util.py:445: cpio-2.13-16.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libcbor-0.7.0-5.el9.x86_64 DEBUG util.py:445: libdb-5.3.28-53.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-2.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: pam-1.5.1-14.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-10.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-7.el9.x86_64 DEBUG util.py:445: systemd-pam-252-8.el9.x86_64 DEBUG util.py:445: systemd-252-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-7.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.187-7.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.187-7.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-2.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.188-3.el9.noarch DEBUG util.py:445: elfutils-libs-0.188-3.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-28.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-8.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.114-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-libgbm-22.3.0-2.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-vulkan-drivers-22.3.0-2.el9.x86_64 DEBUG util.py:445: vulkan-loader-1.3.239.0-1.el9.x86_64 DEBUG util.py:445: libpipeline-1.5.3-4.el9.x86_64 DEBUG util.py:445: man-db-2.9.3-7.el9.x86_64 DEBUG util.py:445: environment-modules-5.0.1-2.el9.x86_64 DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 DEBUG util.py:445: krb5-libs-1.20.1-8.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: openldap-2.6.2-3.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-8.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-23.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.188-3.el9.x86_64 DEBUG util.py:445: elfutils-0.188-3.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-10.el9.x86_64 DEBUG util.py:445: curl-7.76.1-23.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: policycoreutils-3.5-1.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: scl-utils-2.0.3-4.el9.x86_64 DEBUG util.py:445: efi-srpm-macros-4-9.el9.noarch DEBUG util.py:445: lua-srpm-macros-1-6.el9.noarch DEBUG util.py:445: tpm2-tss-3.0.3-8.el9.x86_64 DEBUG util.py:445: systemd-udev-252-8.el9.x86_64 DEBUG util.py:445: libfido2-1.6.0-7.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-28.el9.x86_64 DEBUG util.py:445: git-core-2.39.1-1.el9.x86_64 DEBUG util.py:445: make-4.3-7.el9.x86_64 DEBUG util.py:445: nettle-3.8-3.el9.x86_64 DEBUG util.py:445: gnutls-3.7.6-20.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-6.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-8.el9.x86_64 DEBUG util.py:445: fontconfig-2.14.0-2.el9.x86_64 DEBUG util.py:445: cairo-1.17.4-7.el9.x86_64 DEBUG util.py:445: json-glib-1.6.6-1.el9.x86_64 DEBUG util.py:445: atk-2.36.0-5.el9.x86_64 DEBUG util.py:445: cairo-gobject-1.17.4-7.el9.x86_64 DEBUG util.py:445: polkit-libs-0.117-11.el9.x86_64 DEBUG util.py:445: gstreamer1-1.18.4-4.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-17.el9.x86_64 DEBUG util.py:445: polkit-0.117-11.el9.x86_64 DEBUG util.py:445: polkit-pkla-compat-0.1-21.el9.x86_64 DEBUG util.py:445: gsettings-desktop-schemas-40.0-6.el9.x86_64 DEBUG util.py:445: dconf-0.40.0-6.el9.x86_64 DEBUG util.py:445: rtkit-0.11-28.el9.x86_64 DEBUG util.py:445: libgxps-0.3.2-3.el9.x86_64 DEBUG util.py:445: gd-2.3.2-3.el9.x86_64 DEBUG util.py:445: libXft-2.3.3-8.el9.x86_64 DEBUG util.py:445: poppler-21.01.0-14.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-14.el9.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-c059-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-gothic-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-p052-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-z003-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-fonts-20200910-6.el9.noarch DEBUG util.py:445: libraqm-0.7.0-7.el9s.x86_64 DEBUG util.py:445: mkfontscale-1.2.1-3.el9.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch DEBUG util.py:445: ModemManager-glib-1.20.2-1.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.43.4-1.el9.x86_64 DEBUG util.py:445: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: libgudev-237-1.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.6-3.el9.x86_64 DEBUG util.py:445: colord-libs-1.4.5-4.el9.x86_64 DEBUG util.py:445: shared-mime-info-2.1-5.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.42.6-3.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-modules-2.42.6-3.el9.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.24.31-2.el9.x86_64 DEBUG util.py:445: libgsf-1.14.47-5.el9.x86_64 DEBUG util.py:445: libnotify-0.7.9-8.el9.x86_64 DEBUG util.py:445: at-spi2-core-2.40.3-1.el9.x86_64 DEBUG util.py:445: at-spi2-atk-2.38.0-4.el9.x86_64 DEBUG util.py:445: avahi-glib-0.8-12.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.7-2.el9.x86_64 DEBUG util.py:445: graphene-1.10.6-2.el9.x86_64 DEBUG util.py:445: libgexiv2-0.12.3-1.el9.x86_64 DEBUG util.py:445: low-memory-monitor-2.1-4.el9.x86_64 DEBUG util.py:445: totem-pl-parser-3.26.6-2.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.38.5-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-2.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 DEBUG util.py:445: ostree-libs-2022.6-3.el9.x86_64 DEBUG util.py:445: which-2.21-29.el9.x86_64 DEBUG util.py:445: fuse-2.9.9-15.el9.x86_64 DEBUG util.py:445: checkpolicy-3.5-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.5-1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.5-1.el9.noarch DEBUG util.py:445: gcc-toolset-12-runtime-12.0-5.el9.x86_64 DEBUG util.py:445: gcc-toolset-12-binutils-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-39.el9.x86_64 DEBUG util.py:445: fdk-aac-free-2.0.0-8.el9.x86_64 DEBUG util.py:445: giflib-5.2.1-9.el9.x86_64 DEBUG util.py:445: libxcrypt-devel-4.4.18-3.el9.x86_64 DEBUG util.py:445: gcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: annobin-11.13-1.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: fonts-srpm-macros-2.0.5-7.el9.1.noarch DEBUG util.py:445: go-srpm-macros-3.0.9-9.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-52.el9.noarch DEBUG util.py:445: redhat-rpm-config-199-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-8.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-7.el9.x86_64 DEBUG util.py:445: jbig2dec-libs-0.19-7.el9.x86_64 DEBUG util.py:445: libasyncns-0.8-22.el9.x86_64 DEBUG util.py:445: pulseaudio-libs-15.0-2.el9.x86_64 DEBUG util.py:445: libcanberra-0.30-26.el9.x86_64 DEBUG util.py:445: pulseaudio-utils-15.0-2.el9.x86_64 DEBUG util.py:445: libdatrie-0.2.13-4.el9.x86_64 DEBUG util.py:445: libthai-0.1.28-8.el9.x86_64 DEBUG util.py:445: pango-1.48.7-3.el9.x86_64 DEBUG util.py:445: librsvg2-2.50.7-1.el9.x86_64 DEBUG util.py:445: libepoxy-1.5.5-4.el9.x86_64 DEBUG util.py:445: libexif-0.6.22-6.el9.x86_64 DEBUG util.py:445: libijs-0.35-15.el9.x86_64 DEBUG util.py:445: libgs-9.54.0-9.el9.x86_64 DEBUG util.py:445: libiptcdata-1.0.5-9.el9.x86_64 DEBUG util.py:445: libldac-2.0.2.3-10.el9.x86_64 DEBUG util.py:445: libsbc-1.4-9.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-libs-0.3.47-2.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-0.3.47-2.el9.x86_64 DEBUG util.py:445: flatpak-1.12.7-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.4-1.el9.x86_64 DEBUG util.py:445: libvisual-0.4.0-34.el9.x86_64 DEBUG util.py:445: libwmf-lite-0.2.12-10.el9.x86_64 DEBUG util.py:445: orc-0.4.31-6.el9.x86_64 DEBUG util.py:445: gstreamer1-plugins-base-1.18.4-5.el9.x86_64 DEBUG util.py:445: libtracker-sparql-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-miners-3.1.2-3.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-26.el9.x86_64 DEBUG util.py:445: gtk3-3.24.31-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64 DEBUG util.py:445: gtk2-2.24.33-8.el9.x86_64 DEBUG util.py:445: libcanberra-gtk2-0.30-26.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-25.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-7.el9.noarch DEBUG util.py:445: pipewire-alsa-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-0.3.47-2.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.16-1.el9.x86_64 DEBUG util.py:445: rpm-build-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: python3-pbr-5.10.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.1-4.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.45-3.el9.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch DEBUG util.py:445: gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-39.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-299.el9.x86_64 DEBUG util.py:445: tzdata-2023c-1.el9.noarch DEBUG util.py:445: glibc-common-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-2.34-65.el9.x86_64 DEBUG util.py:445: libsemanage-3.5-2.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-65.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.5-2.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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=1034gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False 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-21.1.1-0.20230419160927.b5d2fda.el9.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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['umount', '-n', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.0dh1gcn8', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/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'} 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: ['/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'} 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: ['/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'} 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: ['/usr/sbin/useradd', '-o', '-m', '-u', '1034', '-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'} 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-centos9-zed-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/builddir DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:445: libgcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: crypto-policies-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.9.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-20221130-1.el9.noarch DEBUG util.py:445: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch DEBUG util.py:445: abattis-cantarell-fonts-0.301-4.el9.noarch DEBUG util.py:445: google-droid-sans-fonts-20200215-11.el9.2.noarch DEBUG util.py:445: xkeyboard-config-2.33-2.el9.noarch DEBUG util.py:445: rust-srpm-macros-17-4.el9.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el9.noarch DEBUG util.py:445: pyproject-srpm-macros-1.6.2-1.el9.noarch DEBUG util.py:445: poppler-data-0.4.9-9.el9.noarch DEBUG util.py:445: perl-srpm-macros-1-41.el9.noarch DEBUG util.py:445: openblas-srpm-macros-2-11.el9.noarch DEBUG util.py:445: ocaml-srpm-macros-6-6.el9.noarch DEBUG util.py:445: libX11-common-1.7.0-7.el9.noarch DEBUG util.py:445: ghc-srpm-macros-1.5.0-6.el9.noarch DEBUG util.py:445: gawk-all-langpacks-5.1.0-6.el9.x86_64 DEBUG util.py:445: adwaita-cursor-theme-40.1.1-3.el9.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-10.el9.noarch DEBUG util.py:445: vim-filesystem-8.2.2637-20.el9.noarch DEBUG util.py:445: python3-setuptools-wheel-53.0.0-12.el9.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-2.el9.noarch DEBUG util.py:445: ncurses-base-6.2-8.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-8.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-8.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-5.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-34.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-21.el9.noarch DEBUG util.py:445: setup-2.13.7-9.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-39.el9.x86_64 DEBUG util.py:445: libstdc++-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 DEBUG util.py:445: libxml2-2.9.13-3.el9.x86_64 DEBUG util.py:445: bzip2-libs-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxcrypt-4.4.18-3.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: expat-2.5.0-1.el9.x86_64 DEBUG util.py:445: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-6.el9.x86_64 DEBUG util.py:445: libcap-2.48-8.el9.x86_64 DEBUG util.py:445: libuuid-2.37.4-10.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-6.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-7.el9.x86_64 DEBUG util.py:445: p11-kit-0.24.1-2.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.188-3.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-10.el9.x86_64 DEBUG util.py:445: libgpg-error-1.42-5.el9.x86_64 DEBUG util.py:445: lcms2-2.12-3.el9.x86_64 DEBUG util.py:445: nspr-4.34.0-18.el9.x86_64 DEBUG util.py:445: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: readline-8.1-4.el9.x86_64 DEBUG util.py:445: alternatives-1.20-2.el9.x86_64 DEBUG util.py:445: libgomp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libsepol-3.5-1.el9.x86_64 DEBUG util.py:445: libogg-1.3.4-6.el9.x86_64 DEBUG util.py:445: libvorbis-1.3.7-5.el9.x86_64 DEBUG util.py:445: libtool-ltdl-2.4.6-45.el9.x86_64 DEBUG util.py:445: nss-util-3.79.0-18.el9.x86_64 DEBUG util.py:445: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.19-4.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-3.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.0.7-103.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: pcre2-10.40-2.el9.x86_64 DEBUG util.py:445: libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.8-3.el9.x86_64 DEBUG util.py:445: libX11-xcb-1.7.0-7.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-3.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-6.el9.x86_64 DEBUG util.py:445: less-590-1.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-3.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.7-1.el9.x86_64 DEBUG util.py:445: libunistring-0.9.10-15.el9.x86_64 DEBUG util.py:445: libidn2-2.3.0-7.el9.x86_64 DEBUG util.py:445: lua-libs-5.4.4-3.el9.x86_64 DEBUG util.py:445: fribidi-1.0.10-6.el9.2.x86_64 DEBUG util.py:445: libICE-1.0.10-8.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: libSM-1.2.3-10.el9.x86_64 DEBUG util.py:445: libpsl-0.21.1-5.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-5.el9.x86_64 DEBUG util.py:445: mesa-libglapi-22.3.0-2.el9.x86_64 DEBUG util.py:445: libwayland-cursor-1.21.0-1.el9.x86_64 DEBUG util.py:445: libmpc-1.2.1-4.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libwayland-server-1.21.0-1.el9.x86_64 DEBUG util.py:445: exiv2-0.27.5-2.el9.x86_64 DEBUG util.py:445: exiv2-libs-0.27.5-2.el9.x86_64 DEBUG util.py:445: libxcrypt-compat-4.4.18-3.el9.x86_64 DEBUG util.py:445: unzip-6.0-56.el9.x86_64 DEBUG util.py:445: xml-common-0.6.3-58.el9.noarch DEBUG util.py:445: groff-base-1.22.4-10.el9.x86_64 DEBUG util.py:445: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: file-libs-5.39-12.el9.x86_64 DEBUG util.py:445: file-5.39-12.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-37.20210216cvs.el9.x86_64 DEBUG util.py:445: llvm-libs-15.0.7-1.el9.x86_64 DEBUG util.py:445: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: fuse-libs-2.9.9-15.el9.x86_64 DEBUG util.py:445: json-c-0.14-11.el9.x86_64 DEBUG util.py:445: libsigsegv-2.13-4.el9.x86_64 DEBUG util.py:445: gawk-5.1.0-6.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-10.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.24.1-2.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-6.el9.x86_64 DEBUG util.py:445: coreutils-8.32-34.el9.x86_64 DEBUG util.py:445: ca-certificates-2022.2.54-90.2.el9.noarch DEBUG util.py:445: systemd-libs-252-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-10.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-7.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-10.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-10.el9.x86_64 DEBUG util.py:445: gzip-1.12-1.el9.x86_64 DEBUG util.py:445: cracklib-2.9.6-27.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 DEBUG util.py:445: kmod-libs-28-8.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-12.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-7.el9.x86_64 DEBUG util.py:445: libXau-1.0.9-8.el9.x86_64 DEBUG util.py:445: libxcb-1.13.1-9.el9.x86_64 DEBUG util.py:445: libX11-1.7.0-7.el9.x86_64 DEBUG util.py:445: libXext-1.3.4-8.el9.x86_64 DEBUG util.py:445: libXrender-0.9.10-16.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 DEBUG util.py:445: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXt-1.2.0-6.el9.x86_64 DEBUG util.py:445: libXmu-1.1.3-8.el9.x86_64 DEBUG util.py:445: libXcursor-1.2.0-7.el9.x86_64 DEBUG util.py:445: libXdamage-1.1.5-7.el9.x86_64 DEBUG util.py:445: libXrandr-1.5.2-8.el9.x86_64 DEBUG util.py:445: libXinerama-1.1.4-10.el9.x86_64 DEBUG util.py:445: libXcomposite-0.4.5-7.el9.x86_64 DEBUG util.py:445: libXpm-3.5.13-8.el9.x86_64 DEBUG util.py:445: libglvnd-1.3.4-1.el9.x86_64 DEBUG util.py:445: libwayland-egl-1.21.0-1.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-5.el9.x86_64 DEBUG util.py:445: libXaw-1.0.13-19.el9.x86_64 DEBUG util.py:445: libXtst-1.2.3-16.el9.x86_64 DEBUG util.py:445: libXv-1.0.11-16.el9.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-18.el9.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-27.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-10.el9.x86_64 DEBUG util.py:445: procps-ng-3.3.17-11.el9.x86_64 DEBUG util.py:445: p11-kit-server-0.24.1-2.el9.x86_64 DEBUG util.py:445: python3-pip-wheel-21.2.3-6.el9.noarch DEBUG util.py:445: python-unversioned-command-3.9.16-1.el9.noarch DEBUG util.py:445: python3-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-3.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: python3-setools-4.4.1-1.el9.x86_64 DEBUG util.py:445: python3-pip-21.2.3-6.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.2.1-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-3.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-6.el9.noarch DEBUG util.py:445: python3-audit-3.0.7-103.el9.x86_64 DEBUG util.py:445: python3-pytz-2021.1-4.el9.noarch DEBUG util.py:445: python3-babel-2.9.1-2.el9.noarch DEBUG util.py:445: python3-tomli-2.0.1-5.el9.noarch DEBUG util.py:445: python3-docutils-0.16-6.el9.noarch DEBUG util.py:445: python3-imagesize-1.2.0-6.el9.noarch DEBUG util.py:445: python3-pygments-2.7.4-4.el9.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-10.el9.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch DEBUG util.py:445: python3-distro-1.7.0-3.el9s.noarch DEBUG util.py:445: python3-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: openssl-3.0.7-6.el9.x86_64 DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-8.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: openexr-libs-3.1.1-2.el9.x86_64 DEBUG util.py:445: iso-codes-4.6.0-3.el9.noarch DEBUG util.py:445: zip-3.0-35.el9.x86_64 DEBUG util.py:445: cpp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: bubblewrap-0.4.1-6.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.5-1.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-3.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-softokn-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-3.79.0-18.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-10.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: fftw-libs-double-3.3.8-12.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: dwz-0.14-3.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.20.2-6.el9.x86_64 DEBUG util.py:445: exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64 DEBUG util.py:445: bzip2-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxkbcommon-1.0.3-4.el9.x86_64 DEBUG util.py:445: libxslt-1.1.34-9.el9.x86_64 DEBUG util.py:445: graphite2-1.3.14-9.el9.x86_64 DEBUG util.py:445: webrtc-audio-processing-0.3.1-8.el9.x86_64 DEBUG util.py:445: info-6.7-15.el9.x86_64 DEBUG util.py:445: ed-1.14.2-12.el9.x86_64 DEBUG util.py:445: patch-2.7.6-16.el9.x86_64 DEBUG util.py:445: tcl-8.6.10-7.el9.x86_64 DEBUG util.py:445: libfontenc-1.1.3-17.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-8.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: perl-Digest-1.19-4.el9.noarch DEBUG util.py:445: perl-Digest-MD5-2.58-4.el9.x86_64 DEBUG util.py:445: perl-B-1.80-480.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-480.el9.noarch DEBUG util.py:445: perl-AutoLoader-5.74-480.el9.noarch DEBUG util.py:445: perl-Data-Dumper-2.174-462.el9.x86_64 DEBUG util.py:445: perl-libnet-3.13-4.el9.noarch DEBUG util.py:445: perl-base-2.27-480.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-Net-SSLeay-1.92-2.el9.x86_64 DEBUG util.py:445: perl-if-0.60.800-480.el9.noarch DEBUG util.py:445: perl-IO-Socket-IP-0.41-5.el9.noarch DEBUG util.py:445: perl-Time-Local-1.300-7.el9.noarch DEBUG util.py:445: perl-File-Path-2.18-4.el9.noarch DEBUG util.py:445: perl-IO-Socket-SSL-2.073-1.el9.noarch DEBUG util.py:445: perl-Pod-Escapes-1.07-460.el9.noarch DEBUG util.py:445: perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch DEBUG util.py:445: perl-Mozilla-CA-20200520-6.el9.noarch DEBUG util.py:445: perl-Class-Struct-0.66-480.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-480.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-480.el9.noarch DEBUG util.py:445: perl-subs-1.03-480.el9.noarch DEBUG util.py:445: perl-File-Temp-0.231.100-4.el9.noarch DEBUG util.py:445: perl-Term-Cap-1.17-460.el9.noarch DEBUG util.py:445: perl-Pod-Simple-3.42-4.el9.noarch DEBUG util.py:445: perl-HTTP-Tiny-0.076-460.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-480.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-480.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-480.el9.noarch DEBUG util.py:445: perl-podlators-4.14-460.el9.noarch DEBUG util.py:445: perl-Pod-Perldoc-3.28.01-461.el9.noarch DEBUG util.py:445: perl-Fcntl-1.13-480.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-480.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-480.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-480.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-480.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-480.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-480.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-480.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-480.el9.noarch DEBUG util.py:445: perl-Getopt-Long-2.52-4.el9.noarch DEBUG util.py:445: perl-Carp-1.50-460.el9.noarch DEBUG util.py:445: perl-Exporter-5.74-461.el9.noarch DEBUG util.py:445: perl-NDBM_File-1.15-480.el9.x86_64 DEBUG util.py:445: perl-PathTools-3.78-461.el9.x86_64 DEBUG util.py:445: perl-Encode-3.08-462.el9.x86_64 DEBUG util.py:445: perl-libs-5.32.1-480.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-480.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-12.el9.noarch DEBUG util.py:445: bluez-libs-5.56-6.el9.x86_64 DEBUG util.py:445: cpio-2.13-16.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libcbor-0.7.0-5.el9.x86_64 DEBUG util.py:445: libdb-5.3.28-53.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-2.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: pam-1.5.1-14.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-10.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-7.el9.x86_64 DEBUG util.py:445: systemd-pam-252-8.el9.x86_64 DEBUG util.py:445: systemd-252-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-7.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.187-7.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.187-7.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-2.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.188-3.el9.noarch DEBUG util.py:445: elfutils-libs-0.188-3.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-28.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-8.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.114-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-libgbm-22.3.0-2.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-vulkan-drivers-22.3.0-2.el9.x86_64 DEBUG util.py:445: vulkan-loader-1.3.239.0-1.el9.x86_64 DEBUG util.py:445: libpipeline-1.5.3-4.el9.x86_64 DEBUG util.py:445: man-db-2.9.3-7.el9.x86_64 DEBUG util.py:445: environment-modules-5.0.1-2.el9.x86_64 DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 DEBUG util.py:445: krb5-libs-1.20.1-8.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: openldap-2.6.2-3.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-8.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-23.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.188-3.el9.x86_64 DEBUG util.py:445: elfutils-0.188-3.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-10.el9.x86_64 DEBUG util.py:445: curl-7.76.1-23.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: policycoreutils-3.5-1.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: scl-utils-2.0.3-4.el9.x86_64 DEBUG util.py:445: efi-srpm-macros-4-9.el9.noarch DEBUG util.py:445: lua-srpm-macros-1-6.el9.noarch DEBUG util.py:445: tpm2-tss-3.0.3-8.el9.x86_64 DEBUG util.py:445: systemd-udev-252-8.el9.x86_64 DEBUG util.py:445: libfido2-1.6.0-7.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-28.el9.x86_64 DEBUG util.py:445: git-core-2.39.1-1.el9.x86_64 DEBUG util.py:445: make-4.3-7.el9.x86_64 DEBUG util.py:445: nettle-3.8-3.el9.x86_64 DEBUG util.py:445: gnutls-3.7.6-20.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-6.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-8.el9.x86_64 DEBUG util.py:445: fontconfig-2.14.0-2.el9.x86_64 DEBUG util.py:445: cairo-1.17.4-7.el9.x86_64 DEBUG util.py:445: json-glib-1.6.6-1.el9.x86_64 DEBUG util.py:445: atk-2.36.0-5.el9.x86_64 DEBUG util.py:445: cairo-gobject-1.17.4-7.el9.x86_64 DEBUG util.py:445: polkit-libs-0.117-11.el9.x86_64 DEBUG util.py:445: gstreamer1-1.18.4-4.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-17.el9.x86_64 DEBUG util.py:445: polkit-0.117-11.el9.x86_64 DEBUG util.py:445: polkit-pkla-compat-0.1-21.el9.x86_64 DEBUG util.py:445: gsettings-desktop-schemas-40.0-6.el9.x86_64 DEBUG util.py:445: dconf-0.40.0-6.el9.x86_64 DEBUG util.py:445: rtkit-0.11-28.el9.x86_64 DEBUG util.py:445: libgxps-0.3.2-3.el9.x86_64 DEBUG util.py:445: gd-2.3.2-3.el9.x86_64 DEBUG util.py:445: libXft-2.3.3-8.el9.x86_64 DEBUG util.py:445: poppler-21.01.0-14.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-14.el9.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-c059-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-gothic-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-p052-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-z003-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-fonts-20200910-6.el9.noarch DEBUG util.py:445: libraqm-0.7.0-7.el9s.x86_64 DEBUG util.py:445: mkfontscale-1.2.1-3.el9.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch DEBUG util.py:445: ModemManager-glib-1.20.2-1.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.43.4-1.el9.x86_64 DEBUG util.py:445: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: libgudev-237-1.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.6-3.el9.x86_64 DEBUG util.py:445: colord-libs-1.4.5-4.el9.x86_64 DEBUG util.py:445: shared-mime-info-2.1-5.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.42.6-3.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-modules-2.42.6-3.el9.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.24.31-2.el9.x86_64 DEBUG util.py:445: libgsf-1.14.47-5.el9.x86_64 DEBUG util.py:445: libnotify-0.7.9-8.el9.x86_64 DEBUG util.py:445: at-spi2-core-2.40.3-1.el9.x86_64 DEBUG util.py:445: at-spi2-atk-2.38.0-4.el9.x86_64 DEBUG util.py:445: avahi-glib-0.8-12.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.7-2.el9.x86_64 DEBUG util.py:445: graphene-1.10.6-2.el9.x86_64 DEBUG util.py:445: libgexiv2-0.12.3-1.el9.x86_64 DEBUG util.py:445: low-memory-monitor-2.1-4.el9.x86_64 DEBUG util.py:445: totem-pl-parser-3.26.6-2.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.38.5-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-2.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 DEBUG util.py:445: ostree-libs-2022.6-3.el9.x86_64 DEBUG util.py:445: which-2.21-29.el9.x86_64 DEBUG util.py:445: fuse-2.9.9-15.el9.x86_64 DEBUG util.py:445: checkpolicy-3.5-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.5-1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.5-1.el9.noarch DEBUG util.py:445: gcc-toolset-12-runtime-12.0-5.el9.x86_64 DEBUG util.py:445: gcc-toolset-12-binutils-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-39.el9.x86_64 DEBUG util.py:445: fdk-aac-free-2.0.0-8.el9.x86_64 DEBUG util.py:445: giflib-5.2.1-9.el9.x86_64 DEBUG util.py:445: libxcrypt-devel-4.4.18-3.el9.x86_64 DEBUG util.py:445: gcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: annobin-11.13-1.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: fonts-srpm-macros-2.0.5-7.el9.1.noarch DEBUG util.py:445: go-srpm-macros-3.0.9-9.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-52.el9.noarch DEBUG util.py:445: redhat-rpm-config-199-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-8.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-7.el9.x86_64 DEBUG util.py:445: jbig2dec-libs-0.19-7.el9.x86_64 DEBUG util.py:445: libasyncns-0.8-22.el9.x86_64 DEBUG util.py:445: pulseaudio-libs-15.0-2.el9.x86_64 DEBUG util.py:445: libcanberra-0.30-26.el9.x86_64 DEBUG util.py:445: pulseaudio-utils-15.0-2.el9.x86_64 DEBUG util.py:445: libdatrie-0.2.13-4.el9.x86_64 DEBUG util.py:445: libthai-0.1.28-8.el9.x86_64 DEBUG util.py:445: pango-1.48.7-3.el9.x86_64 DEBUG util.py:445: librsvg2-2.50.7-1.el9.x86_64 DEBUG util.py:445: libepoxy-1.5.5-4.el9.x86_64 DEBUG util.py:445: libexif-0.6.22-6.el9.x86_64 DEBUG util.py:445: libijs-0.35-15.el9.x86_64 DEBUG util.py:445: libgs-9.54.0-9.el9.x86_64 DEBUG util.py:445: libiptcdata-1.0.5-9.el9.x86_64 DEBUG util.py:445: libldac-2.0.2.3-10.el9.x86_64 DEBUG util.py:445: libsbc-1.4-9.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-libs-0.3.47-2.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-0.3.47-2.el9.x86_64 DEBUG util.py:445: flatpak-1.12.7-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.4-1.el9.x86_64 DEBUG util.py:445: libvisual-0.4.0-34.el9.x86_64 DEBUG util.py:445: libwmf-lite-0.2.12-10.el9.x86_64 DEBUG util.py:445: orc-0.4.31-6.el9.x86_64 DEBUG util.py:445: gstreamer1-plugins-base-1.18.4-5.el9.x86_64 DEBUG util.py:445: libtracker-sparql-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-miners-3.1.2-3.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-26.el9.x86_64 DEBUG util.py:445: gtk3-3.24.31-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64 DEBUG util.py:445: gtk2-2.24.33-8.el9.x86_64 DEBUG util.py:445: libcanberra-gtk2-0.30-26.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-25.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-7.el9.noarch DEBUG util.py:445: pipewire-alsa-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-0.3.47-2.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.16-1.el9.x86_64 DEBUG util.py:445: rpm-build-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: python3-pbr-5.10.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.1-4.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.45-3.el9.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch DEBUG util.py:445: gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-39.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-299.el9.x86_64 DEBUG util.py:445: tzdata-2023c-1.el9.noarch DEBUG util.py:445: glibc-common-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-2.34-65.el9.x86_64 DEBUG util.py:445: libsemanage-3.5-2.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-65.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.5-2.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '-y', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '-y', '--releasever', '9', '--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-centos9-zed-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'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-python-tempestconf-b0ee1bcdacd85b073b7 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-332d7deeba740b9fd8a6 12 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-django-horizon-987c876de4c4ee77 12 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-role-collect-logs-61ec0ed10328 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ironic-ec6c37579675c8f0b8247 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-tcib-03c10e7f35d3a0f4f69b6f7d33 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-7c30c9e000b58055b61 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-tripleo-ansible-d67647f665df8d4b6979c4 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-5968c822bebbaa47e 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-ed36d82a 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-1cf650bf4f25f15ae80c31a 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-bff964511e9dcce0848f6 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tripleo-validations-e427f2e9 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-06a18202ab52c64803f04 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-708df56d5a88a3204c2e98 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-e7bbb17e1e3d16540b4ef 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ovn-bgp-agent-921d93896b780930760b84fb 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 13 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 15 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 37 kB/s | 8.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 46 kB/s | 8.6 kB 00:00 DEBUG util.py:445: dlrn-zed-testing 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-zed-build-deps 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 13 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:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:445: libgcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: crypto-policies-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.noarch DEBUG util.py:445: hwdata-0.348-9.9.el9.noarch DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch DEBUG util.py:445: osinfo-db-20221130-1.el9.noarch DEBUG util.py:445: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch DEBUG util.py:445: abattis-cantarell-fonts-0.301-4.el9.noarch DEBUG util.py:445: google-droid-sans-fonts-20200215-11.el9.2.noarch DEBUG util.py:445: xkeyboard-config-2.33-2.el9.noarch DEBUG util.py:445: rust-srpm-macros-17-4.el9.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el9.noarch DEBUG util.py:445: pyproject-srpm-macros-1.6.2-1.el9.noarch DEBUG util.py:445: poppler-data-0.4.9-9.el9.noarch DEBUG util.py:445: perl-srpm-macros-1-41.el9.noarch DEBUG util.py:445: openblas-srpm-macros-2-11.el9.noarch DEBUG util.py:445: ocaml-srpm-macros-6-6.el9.noarch DEBUG util.py:445: libX11-common-1.7.0-7.el9.noarch DEBUG util.py:445: ghc-srpm-macros-1.5.0-6.el9.noarch DEBUG util.py:445: gawk-all-langpacks-5.1.0-6.el9.x86_64 DEBUG util.py:445: adwaita-cursor-theme-40.1.1-3.el9.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-10.el9.noarch DEBUG util.py:445: vim-filesystem-8.2.2637-20.el9.noarch DEBUG util.py:445: python3-setuptools-wheel-53.0.0-12.el9.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20210518-3.el9.noarch DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch DEBUG util.py:445: pcre2-syntax-10.40-2.el9.noarch DEBUG util.py:445: ncurses-base-6.2-8.20210508.el9.noarch DEBUG util.py:445: libssh-config-0.10.4-8.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-8.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-5.el9.x86_64 DEBUG util.py:445: coreutils-common-8.32-34.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-21.el9.noarch DEBUG util.py:445: centos-stream-release-9.0-21.el9.noarch DEBUG util.py:445: setup-2.13.7-9.el9.noarch DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch DEBUG util.py:445: basesystem-11-13.el9.noarch DEBUG util.py:445: ncurses-libs-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: bash-5.1.8-6.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-39.el9.x86_64 DEBUG util.py:445: libstdc++-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 DEBUG util.py:445: libxml2-2.9.13-3.el9.x86_64 DEBUG util.py:445: bzip2-libs-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxcrypt-4.4.18-3.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: expat-2.5.0-1.el9.x86_64 DEBUG util.py:445: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-6.el9.x86_64 DEBUG util.py:445: libcap-2.48-8.el9.x86_64 DEBUG util.py:445: libuuid-2.37.4-10.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-6.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-7.el9.x86_64 DEBUG util.py:445: p11-kit-0.24.1-2.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.188-3.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-10.el9.x86_64 DEBUG util.py:445: libgpg-error-1.42-5.el9.x86_64 DEBUG util.py:445: lcms2-2.12-3.el9.x86_64 DEBUG util.py:445: nspr-4.34.0-18.el9.x86_64 DEBUG util.py:445: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: readline-8.1-4.el9.x86_64 DEBUG util.py:445: alternatives-1.20-2.el9.x86_64 DEBUG util.py:445: libgomp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libsepol-3.5-1.el9.x86_64 DEBUG util.py:445: libogg-1.3.4-6.el9.x86_64 DEBUG util.py:445: libvorbis-1.3.7-5.el9.x86_64 DEBUG util.py:445: libtool-ltdl-2.4.6-45.el9.x86_64 DEBUG util.py:445: nss-util-3.79.0-18.el9.x86_64 DEBUG util.py:445: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.19-4.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-3.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.0.7-103.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: pcre2-10.40-2.el9.x86_64 DEBUG util.py:445: libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.8-3.el9.x86_64 DEBUG util.py:445: libX11-xcb-1.7.0-7.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-3.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-6.el9.x86_64 DEBUG util.py:445: less-590-1.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-3.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.7-1.el9.x86_64 DEBUG util.py:445: libunistring-0.9.10-15.el9.x86_64 DEBUG util.py:445: libidn2-2.3.0-7.el9.x86_64 DEBUG util.py:445: lua-libs-5.4.4-3.el9.x86_64 DEBUG util.py:445: fribidi-1.0.10-6.el9.2.x86_64 DEBUG util.py:445: libICE-1.0.10-8.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: libSM-1.2.3-10.el9.x86_64 DEBUG util.py:445: libpsl-0.21.1-5.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-5.el9.x86_64 DEBUG util.py:445: mesa-libglapi-22.3.0-2.el9.x86_64 DEBUG util.py:445: libwayland-cursor-1.21.0-1.el9.x86_64 DEBUG util.py:445: libmpc-1.2.1-4.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libwayland-server-1.21.0-1.el9.x86_64 DEBUG util.py:445: exiv2-0.27.5-2.el9.x86_64 DEBUG util.py:445: exiv2-libs-0.27.5-2.el9.x86_64 DEBUG util.py:445: libxcrypt-compat-4.4.18-3.el9.x86_64 DEBUG util.py:445: unzip-6.0-56.el9.x86_64 DEBUG util.py:445: xml-common-0.6.3-58.el9.noarch DEBUG util.py:445: groff-base-1.22.4-10.el9.x86_64 DEBUG util.py:445: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: file-libs-5.39-12.el9.x86_64 DEBUG util.py:445: file-5.39-12.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-37.20210216cvs.el9.x86_64 DEBUG util.py:445: llvm-libs-15.0.7-1.el9.x86_64 DEBUG util.py:445: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: fuse-libs-2.9.9-15.el9.x86_64 DEBUG util.py:445: json-c-0.14-11.el9.x86_64 DEBUG util.py:445: libsigsegv-2.13-4.el9.x86_64 DEBUG util.py:445: gawk-5.1.0-6.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-10.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.24.1-2.el9.x86_64 DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 DEBUG util.py:445: grep-3.6-5.el9.x86_64 DEBUG util.py:445: openssl-libs-3.0.7-6.el9.x86_64 DEBUG util.py:445: coreutils-8.32-34.el9.x86_64 DEBUG util.py:445: ca-certificates-2022.2.54-90.2.el9.noarch DEBUG util.py:445: systemd-libs-252-8.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-10.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: dbus-libs-1.12.20-7.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-10.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-10.el9.x86_64 DEBUG util.py:445: gzip-1.12-1.el9.x86_64 DEBUG util.py:445: cracklib-2.9.6-27.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 DEBUG util.py:445: kmod-libs-28-8.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-12.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-7.el9.x86_64 DEBUG util.py:445: libXau-1.0.9-8.el9.x86_64 DEBUG util.py:445: libxcb-1.13.1-9.el9.x86_64 DEBUG util.py:445: libX11-1.7.0-7.el9.x86_64 DEBUG util.py:445: libXext-1.3.4-8.el9.x86_64 DEBUG util.py:445: libXrender-0.9.10-16.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 DEBUG util.py:445: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXt-1.2.0-6.el9.x86_64 DEBUG util.py:445: libXmu-1.1.3-8.el9.x86_64 DEBUG util.py:445: libXcursor-1.2.0-7.el9.x86_64 DEBUG util.py:445: libXdamage-1.1.5-7.el9.x86_64 DEBUG util.py:445: libXrandr-1.5.2-8.el9.x86_64 DEBUG util.py:445: libXinerama-1.1.4-10.el9.x86_64 DEBUG util.py:445: libXcomposite-0.4.5-7.el9.x86_64 DEBUG util.py:445: libXpm-3.5.13-8.el9.x86_64 DEBUG util.py:445: libglvnd-1.3.4-1.el9.x86_64 DEBUG util.py:445: libwayland-egl-1.21.0-1.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-5.el9.x86_64 DEBUG util.py:445: libXaw-1.0.13-19.el9.x86_64 DEBUG util.py:445: libXtst-1.2.3-16.el9.x86_64 DEBUG util.py:445: libXv-1.0.11-16.el9.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-18.el9.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-27.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-10.el9.x86_64 DEBUG util.py:445: procps-ng-3.3.17-11.el9.x86_64 DEBUG util.py:445: p11-kit-server-0.24.1-2.el9.x86_64 DEBUG util.py:445: python3-pip-wheel-21.2.3-6.el9.noarch DEBUG util.py:445: python-unversioned-command-3.9.16-1.el9.noarch DEBUG util.py:445: python3-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.16-1.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-idna-2.10-7.el9.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-3.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.5-1.el9.x86_64 DEBUG util.py:445: python3-setools-4.4.1-1.el9.x86_64 DEBUG util.py:445: python3-pip-21.2.3-6.el9.noarch DEBUG util.py:445: crypto-policies-scripts-20221215-1.git9a18988.el9.noarch DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-dns-2.2.1-2.el9.noarch DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch DEBUG util.py:445: python3-urllib3-1.26.5-3.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-6.el9.noarch DEBUG util.py:445: python3-audit-3.0.7-103.el9.x86_64 DEBUG util.py:445: python3-pytz-2021.1-4.el9.noarch DEBUG util.py:445: python3-babel-2.9.1-2.el9.noarch DEBUG util.py:445: python3-tomli-2.0.1-5.el9.noarch DEBUG util.py:445: python3-docutils-0.16-6.el9.noarch DEBUG util.py:445: python3-imagesize-1.2.0-6.el9.noarch DEBUG util.py:445: python3-pygments-2.7.4-4.el9.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-10.el9.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch DEBUG util.py:445: python3-distro-1.7.0-3.el9s.noarch DEBUG util.py:445: python3-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: openssl-3.0.7-6.el9.x86_64 DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-8.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: openexr-libs-3.1.1-2.el9.x86_64 DEBUG util.py:445: iso-codes-4.6.0-3.el9.noarch DEBUG util.py:445: zip-3.0-35.el9.x86_64 DEBUG util.py:445: cpp-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: bubblewrap-0.4.1-6.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.5-1.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-3.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-softokn-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.79.0-18.el9.x86_64 DEBUG util.py:445: nss-3.79.0-18.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-10.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: fftw-libs-double-3.3.8-12.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: dwz-0.14-3.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.20.2-6.el9.x86_64 DEBUG util.py:445: exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64 DEBUG util.py:445: bzip2-1.0.8-8.el9.x86_64 DEBUG util.py:445: libxkbcommon-1.0.3-4.el9.x86_64 DEBUG util.py:445: libxslt-1.1.34-9.el9.x86_64 DEBUG util.py:445: graphite2-1.3.14-9.el9.x86_64 DEBUG util.py:445: webrtc-audio-processing-0.3.1-8.el9.x86_64 DEBUG util.py:445: info-6.7-15.el9.x86_64 DEBUG util.py:445: ed-1.14.2-12.el9.x86_64 DEBUG util.py:445: patch-2.7.6-16.el9.x86_64 DEBUG util.py:445: tcl-8.6.10-7.el9.x86_64 DEBUG util.py:445: libfontenc-1.1.3-17.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-8.el9.noarch DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 DEBUG util.py:445: ncurses-6.2-8.20210508.el9.x86_64 DEBUG util.py:445: perl-Digest-1.19-4.el9.noarch DEBUG util.py:445: perl-Digest-MD5-2.58-4.el9.x86_64 DEBUG util.py:445: perl-B-1.80-480.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-480.el9.noarch DEBUG util.py:445: perl-AutoLoader-5.74-480.el9.noarch DEBUG util.py:445: perl-Data-Dumper-2.174-462.el9.x86_64 DEBUG util.py:445: perl-libnet-3.13-4.el9.noarch DEBUG util.py:445: perl-base-2.27-480.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-Net-SSLeay-1.92-2.el9.x86_64 DEBUG util.py:445: perl-if-0.60.800-480.el9.noarch DEBUG util.py:445: perl-IO-Socket-IP-0.41-5.el9.noarch DEBUG util.py:445: perl-Time-Local-1.300-7.el9.noarch DEBUG util.py:445: perl-File-Path-2.18-4.el9.noarch DEBUG util.py:445: perl-IO-Socket-SSL-2.073-1.el9.noarch DEBUG util.py:445: perl-Pod-Escapes-1.07-460.el9.noarch DEBUG util.py:445: perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch DEBUG util.py:445: perl-Mozilla-CA-20200520-6.el9.noarch DEBUG util.py:445: perl-Class-Struct-0.66-480.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-480.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-480.el9.noarch DEBUG util.py:445: perl-subs-1.03-480.el9.noarch DEBUG util.py:445: perl-File-Temp-0.231.100-4.el9.noarch DEBUG util.py:445: perl-Term-Cap-1.17-460.el9.noarch DEBUG util.py:445: perl-Pod-Simple-3.42-4.el9.noarch DEBUG util.py:445: perl-HTTP-Tiny-0.076-460.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-480.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-480.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-480.el9.noarch DEBUG util.py:445: perl-podlators-4.14-460.el9.noarch DEBUG util.py:445: perl-Pod-Perldoc-3.28.01-461.el9.noarch DEBUG util.py:445: perl-Fcntl-1.13-480.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-480.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-480.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-480.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-480.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-480.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-480.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-461.el9.x86_64 DEBUG util.py:445: perl-constant-1.33-461.el9.noarch DEBUG util.py:445: perl-Storable-3.21-460.el9.x86_64 DEBUG util.py:445: perl-overload-1.31-480.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-480.el9.noarch DEBUG util.py:445: perl-Getopt-Long-2.52-4.el9.noarch DEBUG util.py:445: perl-Carp-1.50-460.el9.noarch DEBUG util.py:445: perl-Exporter-5.74-461.el9.noarch DEBUG util.py:445: perl-NDBM_File-1.15-480.el9.x86_64 DEBUG util.py:445: perl-PathTools-3.78-461.el9.x86_64 DEBUG util.py:445: perl-Encode-3.08-462.el9.x86_64 DEBUG util.py:445: perl-libs-5.32.1-480.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-480.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-12.el9.noarch DEBUG util.py:445: bluez-libs-5.56-6.el9.x86_64 DEBUG util.py:445: cpio-2.13-16.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: libcbor-0.7.0-5.el9.x86_64 DEBUG util.py:445: libdb-5.3.28-53.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-2.el9.x86_64 DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: pam-1.5.1-14.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-10.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-7.el9.x86_64 DEBUG util.py:445: systemd-pam-252-8.el9.x86_64 DEBUG util.py:445: systemd-252-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-7.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.187-7.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.187-7.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-2.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.188-3.el9.noarch DEBUG util.py:445: elfutils-libs-0.188-3.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-28.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-8.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-6.el9.x86_64 DEBUG util.py:445: libdrm-2.4.114-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-libgbm-22.3.0-2.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: mesa-libEGL-22.3.0-2.el9.x86_64 DEBUG util.py:445: mesa-vulkan-drivers-22.3.0-2.el9.x86_64 DEBUG util.py:445: vulkan-loader-1.3.239.0-1.el9.x86_64 DEBUG util.py:445: libpipeline-1.5.3-4.el9.x86_64 DEBUG util.py:445: man-db-2.9.3-7.el9.x86_64 DEBUG util.py:445: environment-modules-5.0.1-2.el9.x86_64 DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 DEBUG util.py:445: krb5-libs-1.20.1-8.el9.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: openldap-2.6.2-3.el9.x86_64 DEBUG util.py:445: libssh-0.10.4-8.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-23.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.188-3.el9.x86_64 DEBUG util.py:445: elfutils-0.188-3.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-10.el9.x86_64 DEBUG util.py:445: curl-7.76.1-23.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: policycoreutils-3.5-1.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: scl-utils-2.0.3-4.el9.x86_64 DEBUG util.py:445: efi-srpm-macros-4-9.el9.noarch DEBUG util.py:445: lua-srpm-macros-1-6.el9.noarch DEBUG util.py:445: tpm2-tss-3.0.3-8.el9.x86_64 DEBUG util.py:445: systemd-udev-252-8.el9.x86_64 DEBUG util.py:445: libfido2-1.6.0-7.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-28.el9.x86_64 DEBUG util.py:445: git-core-2.39.1-1.el9.x86_64 DEBUG util.py:445: make-4.3-7.el9.x86_64 DEBUG util.py:445: nettle-3.8-3.el9.x86_64 DEBUG util.py:445: gnutls-3.7.6-20.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-6.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-8.el9.x86_64 DEBUG util.py:445: fontconfig-2.14.0-2.el9.x86_64 DEBUG util.py:445: cairo-1.17.4-7.el9.x86_64 DEBUG util.py:445: json-glib-1.6.6-1.el9.x86_64 DEBUG util.py:445: atk-2.36.0-5.el9.x86_64 DEBUG util.py:445: cairo-gobject-1.17.4-7.el9.x86_64 DEBUG util.py:445: polkit-libs-0.117-11.el9.x86_64 DEBUG util.py:445: gstreamer1-1.18.4-4.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-17.el9.x86_64 DEBUG util.py:445: polkit-0.117-11.el9.x86_64 DEBUG util.py:445: polkit-pkla-compat-0.1-21.el9.x86_64 DEBUG util.py:445: gsettings-desktop-schemas-40.0-6.el9.x86_64 DEBUG util.py:445: dconf-0.40.0-6.el9.x86_64 DEBUG util.py:445: rtkit-0.11-28.el9.x86_64 DEBUG util.py:445: libgxps-0.3.2-3.el9.x86_64 DEBUG util.py:445: gd-2.3.2-3.el9.x86_64 DEBUG util.py:445: libXft-2.3.3-8.el9.x86_64 DEBUG util.py:445: poppler-21.01.0-14.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-14.el9.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-c059-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-gothic-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-p052-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-z003-fonts-20200910-6.el9.noarch DEBUG util.py:445: urw-base35-fonts-20200910-6.el9.noarch DEBUG util.py:445: libraqm-0.7.0-7.el9s.x86_64 DEBUG util.py:445: mkfontscale-1.2.1-3.el9.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch DEBUG util.py:445: ModemManager-glib-1.20.2-1.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.43.4-1.el9.x86_64 DEBUG util.py:445: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: libgudev-237-1.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.6-3.el9.x86_64 DEBUG util.py:445: colord-libs-1.4.5-4.el9.x86_64 DEBUG util.py:445: shared-mime-info-2.1-5.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.42.6-3.el9.x86_64 DEBUG util.py:445: gdk-pixbuf2-modules-2.42.6-3.el9.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.24.31-2.el9.x86_64 DEBUG util.py:445: libgsf-1.14.47-5.el9.x86_64 DEBUG util.py:445: libnotify-0.7.9-8.el9.x86_64 DEBUG util.py:445: at-spi2-core-2.40.3-1.el9.x86_64 DEBUG util.py:445: at-spi2-atk-2.38.0-4.el9.x86_64 DEBUG util.py:445: avahi-glib-0.8-12.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.7-2.el9.x86_64 DEBUG util.py:445: graphene-1.10.6-2.el9.x86_64 DEBUG util.py:445: libgexiv2-0.12.3-1.el9.x86_64 DEBUG util.py:445: low-memory-monitor-2.1-4.el9.x86_64 DEBUG util.py:445: totem-pl-parser-3.26.6-2.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.38.5-1.el9.x86_64 DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 DEBUG util.py:445: npth-1.6-8.el9.x86_64 DEBUG util.py:445: gnupg2-2.3.3-2.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 DEBUG util.py:445: ostree-libs-2022.6-3.el9.x86_64 DEBUG util.py:445: which-2.21-29.el9.x86_64 DEBUG util.py:445: fuse-2.9.9-15.el9.x86_64 DEBUG util.py:445: checkpolicy-3.5-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.5-1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.5-1.el9.noarch DEBUG util.py:445: gcc-toolset-12-runtime-12.0-5.el9.x86_64 DEBUG util.py:445: gcc-toolset-12-binutils-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-39.el9.x86_64 DEBUG util.py:445: fdk-aac-free-2.0.0-8.el9.x86_64 DEBUG util.py:445: giflib-5.2.1-9.el9.x86_64 DEBUG util.py:445: libxcrypt-devel-4.4.18-3.el9.x86_64 DEBUG util.py:445: gcc-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: annobin-11.13-1.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.3.1-4.4.el9.x86_64 DEBUG util.py:445: fonts-srpm-macros-2.0.5-7.el9.1.noarch DEBUG util.py:445: go-srpm-macros-3.0.9-9.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-52.el9.noarch DEBUG util.py:445: redhat-rpm-config-199-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-52.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-8.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-7.el9.x86_64 DEBUG util.py:445: jbig2dec-libs-0.19-7.el9.x86_64 DEBUG util.py:445: libasyncns-0.8-22.el9.x86_64 DEBUG util.py:445: pulseaudio-libs-15.0-2.el9.x86_64 DEBUG util.py:445: libcanberra-0.30-26.el9.x86_64 DEBUG util.py:445: pulseaudio-utils-15.0-2.el9.x86_64 DEBUG util.py:445: libdatrie-0.2.13-4.el9.x86_64 DEBUG util.py:445: libthai-0.1.28-8.el9.x86_64 DEBUG util.py:445: pango-1.48.7-3.el9.x86_64 DEBUG util.py:445: librsvg2-2.50.7-1.el9.x86_64 DEBUG util.py:445: libepoxy-1.5.5-4.el9.x86_64 DEBUG util.py:445: libexif-0.6.22-6.el9.x86_64 DEBUG util.py:445: libijs-0.35-15.el9.x86_64 DEBUG util.py:445: libgs-9.54.0-9.el9.x86_64 DEBUG util.py:445: libiptcdata-1.0.5-9.el9.x86_64 DEBUG util.py:445: libldac-2.0.2.3-10.el9.x86_64 DEBUG util.py:445: libsbc-1.4-9.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-libs-0.3.47-2.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.8-1.el9.x86_64 DEBUG util.py:445: pipewire-0.3.47-2.el9.x86_64 DEBUG util.py:445: flatpak-1.12.7-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.4-1.el9.x86_64 DEBUG util.py:445: libvisual-0.4.0-34.el9.x86_64 DEBUG util.py:445: libwmf-lite-0.2.12-10.el9.x86_64 DEBUG util.py:445: orc-0.4.31-6.el9.x86_64 DEBUG util.py:445: gstreamer1-plugins-base-1.18.4-5.el9.x86_64 DEBUG util.py:445: libtracker-sparql-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-3.1.2-3.el9.x86_64 DEBUG util.py:445: tracker-miners-3.1.2-3.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-26.el9.x86_64 DEBUG util.py:445: gtk3-3.24.31-2.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64 DEBUG util.py:445: gtk2-2.24.33-8.el9.x86_64 DEBUG util.py:445: libcanberra-gtk2-0.30-26.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-25.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.11.27-7.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-7.el9.noarch DEBUG util.py:445: pipewire-alsa-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-0.3.47-2.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-0.3.47-2.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.16-1.el9.x86_64 DEBUG util.py:445: rpm-build-4.16.1.3-22.el9.x86_64 DEBUG util.py:445: python3-pbr-5.10.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.33.1-4.el9s.noarch DEBUG util.py:445: python3-sqlalchemy-1.4.45-3.el9.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch DEBUG util.py:445: gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-39.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-299.el9.x86_64 DEBUG util.py:445: tzdata-2023c-1.el9.noarch DEBUG util.py:445: glibc-common-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-2.34-65.el9.x86_64 DEBUG util.py:445: libsemanage-3.5-2.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-65.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-65.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.5-2.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/.initialized DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-Uvh', '--nodeps', '/builddir/build/originals/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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'} and shell False DEBUG util.py:445: Updating / installing... DEBUG util.py:445: openstack-ironic-1:21.1.1-0.2023041916######################################## DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/rpm', '-qpl', '/builddir/build/originals/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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'} and shell False DEBUG util.py:445: dnsmasq-tftp-server.conf DEBUG util.py:445: ironic-21.1.1.dev25-0.20230419160927.b5d2fda.tar.gz DEBUG util.py:445: ironic-dist.conf DEBUG util.py:445: ironic-sudoers DEBUG util.py:445: ironic.logrotate DEBUG util.py:445: openstack-ironic-api.service DEBUG util.py:445: openstack-ironic-conductor.service DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server.service DEBUG util.py:445: openstack-ironic.service DEBUG util.py:445: openstack-ironic.spec DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-zed-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=1034gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False 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-21.1.1-0.20230419160927.b5d2fda.el9.src.rpm DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.src.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: Last metadata expiration check: 0:00:05 ago on Wed Apr 19 16:12:45 2023. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package python3-devel-3.9.16-1.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-eventlet-0.33.1-4.el9s.noarch is already installed. DEBUG util.py:445: Package python3-jinja2-3.0.1-2.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.10.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pytz-2021.1-4.el9.noarch is already installed. DEBUG util.py:445: Package python3-requests-2.25.1-6.el9.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-57.4.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-sphinx-1:3.4.3-7.el9.noarch is already installed. DEBUG util.py:445: Package python3-sqlalchemy-1.4.45-3.el9.x86_64 is already installed. DEBUG util.py:445: Package systemd-252-8.el9.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.2.0-10.el9 appstream 175 k DEBUG util.py:445: libxml2-devel x86_64 2.9.13-3.el9 appstream 899 k DEBUG util.py:445: libxslt-devel x86_64 1.1.34-9.el9 appstream 320 k DEBUG util.py:445: openssl-devel x86_64 1:3.0.7-6.el9 appstream 4.1 M DEBUG util.py:445: python3-alembic noarch 1.8.1-1.el9s delorean-zed-testing 832 k DEBUG util.py:445: python3-automaton noarch 3.0.1-0.20220913101013.0ea747e.el9 delorean-component-common 41 k DEBUG util.py:445: python3-cinderclient noarch 9.1.0-0.20220913141756.730a8c7.el9 delorean-component-clients 218 k DEBUG util.py:445: python3-ddt noarch 1.6.0-1.el9s delorean-zed-testing 19 k DEBUG util.py:445: python3-dracclient noarch 8.0.1-0.20230105105333.ce67a01.el9 delorean-component-baremetal 179 k DEBUG util.py:445: python3-futurist noarch 2.4.1-0.20220912114933.159d752.el9 delorean-component-common 62 k DEBUG util.py:445: python3-glanceclient noarch 1:4.1.0-0.20220913122332.f2999ce.el9 delorean-component-clients 148 k DEBUG util.py:445: python3-ironic-lib noarch 5.3.0-0.20220914172957.340a4b2.el9 delorean-component-baremetal 142 k DEBUG util.py:445: python3-jsonpatch noarch 1.21-16.el9 appstream 26 k DEBUG util.py:445: python3-jsonschema noarch 3.2.0-13.el9 appstream 125 k DEBUG util.py:445: python3-keystoneauth1 noarch 5.0.0-0.20220913114133.2445a5d.el9 delorean-component-security 406 k DEBUG util.py:445: python3-keystonemiddleware noarch 10.1.0-0.20220914163026.f7ac6a1.el9 delorean-component-security 92 k DEBUG util.py:445: python3-mock noarch 4.0.3-5.el9s delorean-zed-testing 58 k DEBUG util.py:445: python3-neutronclient noarch 8.1.0-0.20220913152130.7467c71.el9 delorean-component-clients 297 k DEBUG util.py:445: python3-openstacksdk noarch 0.101.0-0.20221103174000.433815d.el9 delorean-component-clients 778 k DEBUG util.py:445: python3-os-traits noarch 2.9.0-0.20220913121852.fc91a78.el9 delorean-component-common 48 k DEBUG util.py:445: python3-oslo-concurrency noarch 5.0.1-0.20220913105944.01cf2ff.el9 delorean-component-common 42 k DEBUG util.py:445: python3-oslo-config noarch 2:9.0.0-0.20220913094852.9eaae04.el9 delorean-component-common 216 k DEBUG util.py:445: python3-oslo-context noarch 5.0.0-0.20220910084952.f388eb9.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-db noarch 12.1.0-0.20220929090402.7f3647b.el9 delorean-component-common 139 k DEBUG util.py:445: python3-oslo-db-tests noarch 12.1.0-0.20220929090402.7f3647b.el9 delorean-component-common 139 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20220910085450.b031d17.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 5.0.0-0.20220910091625.6401da7.el9 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 14.0.0-0.20220913121539.e44f286.el9 delorean-component-common 221 k DEBUG util.py:445: python3-oslo-middleware noarch 5.0.0-0.20220913100152.51e1882.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-policy noarch 4.0.0-0.20220913100707.5bd767b.el9 delorean-component-common 75 k DEBUG util.py:445: python3-oslo-reports noarch 2.4.0-0.20220913094305.3a1157f.el9 delorean-component-common 58 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220909131700.1b1b960.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 5.0.0-0.20220910091027.dd2a819.el9 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 3.0.0-0.20220913101925.a27acfe.el9 delorean-component-common 69 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 2.0.0-0.20220913113658.b3a2b19.el9 delorean-component-common 27 k DEBUG util.py:445: python3-oslo-utils noarch 6.0.1-0.20220910090500.760deb9.el9 delorean-component-common 77 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 3.0.1-0.20220913115328.2b12029.el9 delorean-component-common 77 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20220913093411.d4b1896.el9 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.3-0.20220913113327.3286301.el9 delorean-component-common 128 k DEBUG util.py:445: python3-pecan noarch 1.4.2-2.el9s delorean-zed-testing 272 k DEBUG util.py:445: python3-proliantutils noarch 2.14.0-0.20221123184856.de9759c.el9 delorean-component-baremetal 285 k DEBUG util.py:445: python3-psutil x86_64 5.8.0-12.el9 appstream 214 k DEBUG util.py:445: python3-pycdlib noarch 1.11.0-5.el9 appstream 248 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-6.el9s delorean-zed-testing 656 k DEBUG util.py:445: python3-scciclient noarch 0.12.2-0.20220914082215.5627307.el9 delorean-component-baremetal 122 k DEBUG util.py:445: python3-stestr noarch 3.2.0-3.el9s delorean-zed-testing 169 k DEBUG util.py:445: python3-stevedore noarch 4.0.2-0.20221021075011.93f1e09.el9 delorean-component-clients 68 k DEBUG util.py:445: python3-sushy noarch 4.3.2-0.20221128094849.6c521c5.el9 delorean-component-baremetal 187 k DEBUG util.py:445: python3-swiftclient noarch 4.1.0-0.20220913142202.662e530.el9 delorean-component-clients 162 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-zed-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-zed-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.5.0-2.el9s delorean-zed-testing 327 k DEBUG util.py:445: python3-tooz noarch 3.1.0-0.20220929085219.cb0392c.el9 delorean-component-common 106 k DEBUG util.py:445: python3-webob noarch 1.8.7-1.el9s delorean-zed-testing 230 k DEBUG util.py:445: python3-webtest noarch 3.0.0-1.el9s delorean-zed-testing 80 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: cmake-filesystem x86_64 3.20.2-8.el9 appstream 19 k DEBUG util.py:445: gmp-c++ x86_64 1:6.2.0-10.el9 appstream 20 k DEBUG util.py:445: libgpg-error-devel x86_64 1.42-5.el9 appstream 66 k DEBUG util.py:445: libpq x86_64 13.5-1.el9 appstream 207 k DEBUG util.py:445: libsodium x86_64 1.0.18-7.el9s delorean-zed-testing 161 k DEBUG util.py:445: libyaml x86_64 0.2.5-7.el9 baseos 61 k DEBUG util.py:445: memcached x86_64 1.6.9-7.el9 appstream 174 k DEBUG util.py:445: openldap-compat x86_64 2.6.2-3.el9 baseos 18 k DEBUG util.py:445: python-oslo-cache-lang noarch 3.2.0-0.20221128115944.dde16ce.el9 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 5.0.1-0.20220913105944.01cf2ff.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 12.1.0-0.20220929090402.7f3647b.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20220910085450.b031d17.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 5.0.0-0.20220910091625.6401da7.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 5.0.0-0.20220913100152.51e1882.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 4.0.0-0.20220913100707.5bd767b.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 6.0.1-0.20220910090500.760deb9.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 3.0.1-0.20220913115328.2b12029.el9 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20220909140437.4179996.el9 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-6.el9 appstream 107 k DEBUG util.py:445: python3-amqp noarch 5.1.1-1.el9s delorean-zed-testing 93 k DEBUG util.py:445: python3-appdirs noarch 1.4.4-4.el9 appstream 23 k DEBUG util.py:445: python3-async-timeout noarch 4.0.2-5.el9s delorean-zed-testing 18 k DEBUG util.py:445: python3-attrs noarch 20.3.0-7.el9 appstream 87 k DEBUG util.py:445: python3-autopage noarch 0.5.1-1.el9s delorean-zed-testing 58 k DEBUG util.py:445: python3-bcrypt x86_64 3.2.2-4.el9s delorean-zed-testing 43 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.10.0-1.el9s delorean-zed-testing 173 k DEBUG util.py:445: python3-binary-memcached noarch 0.31.1-1.el9s delorean-zed-testing 37 k DEBUG util.py:445: python3-cachetools noarch 5.2.0-3.el9s delorean-zed-testing 31 k DEBUG util.py:445: python3-cffi x86_64 1.14.5-5.el9 baseos 253 k DEBUG util.py:445: python3-cliff noarch 4.0.0-0.20220913115843.58c853d.el9 delorean-component-common 93 k DEBUG util.py:445: python3-cmd2 noarch 2.4.2-1.el9s delorean-zed-testing 303 k DEBUG util.py:445: python3-cryptography x86_64 36.0.1-2.el9 baseos 1.2 M DEBUG util.py:445: python3-dateutil noarch 1:2.8.1-6.el9 baseos 302 k DEBUG util.py:445: python3-debtcollector noarch 2.5.0-0.20221124135348.a6b46c5.el9 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.2-6.el9 baseos 28 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-deprecated noarch 1.2.13-3.el9s delorean-zed-testing 21 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.8-1.el9s delorean-zed-testing 88 k DEBUG util.py:445: python3-etcd3gw noarch 1.0.0-2.el9s delorean-zed-testing 42 k DEBUG util.py:445: python3-extras noarch 1.0.0-15.el9s delorean-zed-testing 19 k DEBUG util.py:445: python3-fasteners noarch 0.17.3-5.el9s delorean-zed-testing 34 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-27.el9s delorean-zed-testing 92 k DEBUG util.py:445: python3-future noarch 0.18.2-9.el9s delorean-zed-testing 729 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-zed-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 4.12.0-2.el9s delorean-zed-testing 44 k DEBUG util.py:445: python3-inotify noarch 0.9.6-25.el9 baseos 53 k DEBUG util.py:445: python3-iso8601 noarch 1.0.2-2.el9s delorean-zed-testing 22 k DEBUG util.py:445: python3-jeepney noarch 0.8.0-3.el9s delorean-zed-testing 345 k DEBUG util.py:445: python3-jmespath noarch 0.10.0-1.el9s delorean-zed-testing 45 k DEBUG util.py:445: python3-jsonpointer noarch 2.0-4.el9 appstream 19 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-2.el9s delorean-zed-testing 156 k DEBUG util.py:445: python3-keyring noarch 21.8.0-2.el9s delorean-zed-testing 76 k DEBUG util.py:445: python3-keystoneclient noarch 1:5.0.1-0.20220913140034.bc8e9e7.el9 delorean-component-clients 237 k DEBUG util.py:445: python3-kombu noarch 1:5.2.4-3.el9s delorean-zed-testing 322 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-zed-testing 46 k DEBUG util.py:445: python3-lxml x86_64 4.6.5-3.el9 appstream 1.2 M DEBUG util.py:445: python3-mako noarch 1.1.4-6.el9 appstream 172 k DEBUG util.py:445: python3-memcached noarch 1.59-3.el9s delorean-zed-testing 39 k DEBUG util.py:445: python3-migrate noarch 0.13.0-5.el9s delorean-zed-testing 222 k DEBUG util.py:445: python3-msgpack x86_64 1.0.4-3.el9s delorean-zed-testing 85 k DEBUG util.py:445: python3-munch noarch 2.5.0-4.el9s delorean-zed-testing 23 k DEBUG util.py:445: python3-netaddr noarch 0.8.0-5.el9 appstream 1.6 M DEBUG util.py:445: python3-netifaces x86_64 0.10.6-15.el9 appstream 23 k DEBUG util.py:445: python3-os-client-config noarch 2.1.0-0.20220909115251.bc96c23.el9 delorean-component-tripleo 53 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220909081319.0b2f473.el9 delorean-component-clients 36 k DEBUG util.py:445: python3-osc-lib noarch 2.6.2-0.20220913141526.d438afa.el9 delorean-component-clients 76 k DEBUG util.py:445: python3-oslo-cache noarch 3.2.0-0.20221128115944.dde16ce.el9 delorean-component-common 54 k DEBUG util.py:445: python3-oslo-metrics noarch 0.5.0-0.20220913095319.fc22d0d.el9 delorean-component-common 23 k DEBUG util.py:445: python3-paste noarch 3.5.0-3.el9s delorean-zed-testing 775 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-2.el9s delorean-zed-testing 40 k DEBUG util.py:445: python3-ply noarch 3.11-14.el9 baseos 106 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-27.el9 appstream 42 k DEBUG util.py:445: python3-prometheus_client noarch 0.9.0-2.el9s delorean-zed-testing 86 k DEBUG util.py:445: python3-psycopg2 x86_64 2.8.6-6.el9 appstream 188 k DEBUG util.py:445: python3-pyOpenSSL noarch 20.0.1-2.el9s delorean-zed-testing 89 k DEBUG util.py:445: python3-pyasn1 noarch 0.4.8-6.el9 appstream 159 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20220909140437.4179996.el9 delorean-component-common 51 k DEBUG util.py:445: python3-pycparser noarch 2.20-6.el9 baseos 135 k DEBUG util.py:445: python3-pyghmi noarch 1.5.34-2.el9 appstream 392 k DEBUG util.py:445: python3-pynacl x86_64 1.4.0-2.el9s delorean-zed-testing 108 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-zed-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-3.el9s delorean-zed-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-8.el9 appstream 114 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-6.el9 baseos 205 k DEBUG util.py:445: python3-qpid-proton x86_64 0.35.0-2.el9s delorean-zed-testing 408 k DEBUG util.py:445: python3-redis noarch 4.3.4-1.el9s delorean-zed-testing 369 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-zed-testing 31 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220909080418.d7ac0ff.el9 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-2.el9s delorean-zed-testing 21 k DEBUG util.py:445: python3-rfc3986 noarch 1.5.0-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-routes noarch 2.5.1-1.el9s delorean-zed-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-zed-testing 35 k DEBUG util.py:445: python3-simplejson x86_64 3.17.6-2.el9s delorean-zed-testing 264 k DEBUG util.py:445: python3-smi noarch 0.3.4-10.el9s delorean-zed-testing 133 k DEBUG util.py:445: python3-soupsieve noarch 2.3.2.post1-1.el9s delorean-zed-testing 73 k DEBUG util.py:445: python3-sqlparse noarch 0.4.2-4.el9s delorean-zed-testing 83 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-zed-testing 34 k DEBUG util.py:445: python3-subunit noarch 1.4.0-6.el9s delorean-zed-testing 90 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-zed-testing 36 k DEBUG util.py:445: python3-uhashring noarch 2.1-1.el9s delorean-zed-testing 24 k DEBUG util.py:445: python3-vine noarch 5.0.0-3.el9s delorean-zed-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.13.1-1.el9s delorean-zed-testing 59 k DEBUG util.py:445: python3-waitress noarch 2.1.2-1.el9s delorean-zed-testing 93 k DEBUG util.py:445: python3-warlock noarch 1.3.3-5.el9s delorean-zed-testing 20 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-8.el9 appstream 44 k DEBUG util.py:445: python3-wrapt x86_64 1.14.1-1.el9s delorean-zed-testing 57 k DEBUG util.py:445: python3-yappi x86_64 1.3.6-1.el9s delorean-zed-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-zed-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.38.7-1.el9s delorean-zed-testing 141 k DEBUG util.py:445: python3-zipp noarch 3.6.0-1.el9s delorean-zed-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-zed-testing 225 k DEBUG util.py:445: xz-devel x86_64 5.2.5-8.el9 appstream 55 k DEBUG util.py:445: zlib-devel x86_64 1.2.11-39.el9 appstream 45 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Install 169 Packages DEBUG util.py:445: Total size: 28 M DEBUG util.py:445: Total download size: 6.7 M DEBUG util.py:445: Installed size: 115 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-3.2.0-0.20221128115944.dde16ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-5.0.1-0.20220913105944.01cf2ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-12.1.0-0.20220929090402.7f3647b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20220910085450.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-5.0.0-0.20220910091625.6401da7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-5.0.0-0.20220913100152.51e1882.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-4.0.0-0.20220913100707.5bd767b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-6.0.1-0.20220910090500.760deb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-3.0.1-0.20220913115328.2b12029.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20220909140437.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-3.0.1-0.20220913101013.0ea747e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-4.0.0-0.20220913115843.58c853d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.5.0-0.20221124135348.a6b46c5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.1-0.20220912114933.159d752.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.9.0-0.20220913121852.fc91a78.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-3.2.0-0.20221128115944.dde16ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-5.0.1-0.20220913105944.01cf2ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-9.0.0-0.20220913094852.9eaae04.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-5.0.0-0.20220910084952.f388eb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-12.1.0-0.20220929090402.7f3647b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20220910085450.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-5.0.0-0.20220910091625.6401da7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-14.0.0-0.20220913121539.e44f286.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.5.0-0.20220913095319.fc22d0d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-5.0.0-0.20220913100152.51e1882.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-4.0.0-0.20220913100707.5bd767b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-reports-2.4.0-0.20220913094305.3a1157f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1b960.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-5.0.0-0.20220910091027.dd2a819.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-3.0.0-0.20220913101925.a27acfe.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-2.0.0-0.20220913113658.b3a2b19.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-6.0.1-0.20220910090500.760deb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-3.0.1-0.20220913115328.2b12029.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.3-0.20220913113327.3286301.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20220909140437.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220909080418.d7ac0ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-3.1.0-0.20220929085219.cb0392c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-5.0.0-0.20220913114133.2445a5d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-10.1.0-0.20220914163026.f7ac6a1.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-9.1.0-0.20220913141756.730a8c7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-4.1.0-0.20220913122332.f2999ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-5.0.1-0.20220913140034.bc8e9e7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220909081319.0b2f473.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20220913093411.d4b1896.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-4.0.2-0.20221021075011.93f1e09.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-4.1.0-0.20220913142202.662e530.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libyaml-0.2.5-7.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] openldap-compat-2.6.2-3.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cffi-1.14.5-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cryptography-36.0.1-2.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dateutil-2.8.1-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-decorator-4.4.2-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-inotify-0.9.6-25.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ply-3.11-14.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycparser-2.20-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyyaml-5.4.1-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-c++-6.2.0-10.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-devel-6.2.0-10.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libgpg-error-devel-1.42-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libpq-13.5-1.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxml2-devel-2.9.13-3.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxslt-devel-1.1.34-9.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] memcached-1.6.9-7.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-PyMySQL-0.10.1-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-appdirs-1.4.4-4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-attrs-20.3.0-7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpatch-1.21-16.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpointer-2.0-4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonschema-3.2.0-13.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-lxml-4.6.5-3.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mako-1.1.4-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netaddr-0.8.0-5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netifaces-0.10.6-15.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prettytable-0.7.2-27.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psutil-5.8.0-12.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psycopg2-2.8.6-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyasn1-0.4.8-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycdlib-1.11.0-5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyghmi-1.5.34-2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyrsistent-0.17.3-8.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wcwidth-0.2.5-8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] xz-devel-5.2.5-8.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] zlib-devel-1.2.11-39.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsodium-1.0.18-7.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-alembic-1.8.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.1.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-async-timeout-4.0.2-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.5.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.2.2-4.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-binary-memcached-0.31.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-5.2.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-2.4.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ddt-1.6.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-defusedxml-0.7.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-deprecated-1.2.13-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dogpile-cache-1.1.8-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-etcd3gw-1.0.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-extras-1.0.0-15.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fasteners-0.17.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-27.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-future-0.18.2-9.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ifaddr-0.1.7-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-metadata-4.12.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-iso8601-1.0.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.8.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jmespath-0.10.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kazoo-2.8.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keyring-21.8.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kombu-5.2.4-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-logutils-0.3.5-15.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-memcached-1.59-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-migrate-0.13.0-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mock-4.0.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.4-3.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-munch-2.5.0-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-3.5.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-deploy-2.1.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pecan-1.4.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prometheus_client-0.9.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyOpenSSL-20.0.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pynacl-1.4.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyngus-2.3.0-8.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyperclip-1.8.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pysnmp-4.4.12-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-qpid-proton-0.35.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-redis-4.3.4-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-repoze-lru-0.7-10.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-retrying-1.3.3-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-rfc3986-1.5.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-routes-2.5.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-secretstorage-3.3.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-simplejson-3.17.6-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-smi-0.3.4-10.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.4.2-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-statsd-3.2.1-20.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stestr-3.2.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-subunit-1.4.0-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tempita-0.5.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tenacity-6.3.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testresources-2.0.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testscenarios-0.5.0-21.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testtools-2.5.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-uhashring-2.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-vine-5.0.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.13.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-warlock-1.3.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webob-1.8.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webtest-3.0.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.14.1-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.6-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zake-0.2.2-22.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zeroconf-0.38.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zipp-3.6.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] qpid-proton-c-0.35.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: (155/169): python3-oslo-db-tests-12.1.0-0.20220 313 kB/s | 139 kB 00:00 DEBUG util.py:445: (156/169): python3-ironic-lib-5.3.0-0.202209141 281 kB/s | 142 kB 00:00 DEBUG util.py:445: (157/169): python3-dracclient-8.0.1-0.202301051 336 kB/s | 179 kB 00:00 DEBUG util.py:445: (158/169): python3-scciclient-0.12.2-0.20220914 3.5 MB/s | 122 kB 00:00 DEBUG util.py:445: (159/169): python3-proliantutils-2.14.0-0.20221 2.6 MB/s | 285 kB 00:00 DEBUG util.py:445: (160/169): python3-os-client-config-2.1.0-0.202 1.6 MB/s | 53 kB 00:00 DEBUG util.py:445: (161/169): python3-sushy-4.3.2-0.20221128094849 3.7 MB/s | 187 kB 00:00 DEBUG util.py:445: (162/169): python3-neutronclient-8.1.0-0.202209 7.1 MB/s | 297 kB 00:00 DEBUG util.py:445: (163/169): python3-osc-lib-2.6.2-0.202209131415 1.6 MB/s | 76 kB 00:00 DEBUG util.py:445: (164/169): python3-openstacksdk-0.101.0-0.20221 11 MB/s | 778 kB 00:00 DEBUG util.py:445: (165/169): python3-beautifulsoup4-4.10.0-1.el9s 4.9 MB/s | 173 kB 00:00 DEBUG util.py:445: (166/169): python3-soupsieve-2.3.2.post1-1.el9s 694 kB/s | 73 kB 00:00 DEBUG util.py:445: (167/169): python3-waitress-2.1.2-1.el9s.noarch 1.8 MB/s | 93 kB 00:00 DEBUG util.py:445: (168/169): cmake-filesystem-3.20.2-8.el9.x86_64 74 kB/s | 19 kB 00:00 DEBUG util.py:445: (169/169): openssl-devel-3.0.7-6.el9.x86_64.rpm 12 MB/s | 4.1 MB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 6.8 MB/s | 6.7 MB 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-stevedore-4.0.2-0.20221021075011.93f1e09 1/169 DEBUG util.py:445: Installing : python3-webob-1.8.7-1.el9s.noarch 2/169 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-27.el9.noarch 3/169 DEBUG util.py:445: Installing : python3-iso8601-1.0.2-2.el9s.noarch 4/169 DEBUG util.py:445: Installing : python3-netaddr-0.8.0-5.el9.noarch 5/169 DEBUG util.py:445: Installing : python3-decorator-4.4.2-6.el9.noarch 6/169 DEBUG util.py:445: Installing : python3-wrapt-1.14.1-1.el9s.x86_64 7/169 DEBUG util.py:445: Installing : python3-debtcollector-2.5.0-0.20221124135348.a6b 8/169 DEBUG util.py:445: Installing : python3-oslo-context-5.0.0-0.20220910084952.f388 9/169 DEBUG util.py:445: Installing : python3-simplejson-3.17.6-2.el9s.x86_64 10/169 DEBUG util.py:445: Installing : python3-extras-1.0.0-15.el9s.noarch 11/169 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-27.el9s.noarch 12/169 DEBUG util.py:445: Installing : python3-testtools-2.5.0-2.el9s.noarch 13/169 DEBUG util.py:445: Installing : python3-mako-1.1.4-6.el9.noarch 14/169 DEBUG util.py:445: Installing : python3-dateutil-1:2.8.1-6.el9.noarch 15/169 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220909081319. 16/169 DEBUG util.py:445: Installing : python3-keystoneauth1-5.0.0-0.20220913114133.244 17/169 DEBUG util.py:445: Installing : python3-futurist-2.4.1-0.20220912114933.159d752. 18/169 DEBUG util.py:445: Installing : python3-alembic-1.8.1-1.el9s.noarch 19/169 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.8-1.el9s.noarch 20/169 DEBUG util.py:445: Installing : python3-subunit-1.4.0-6.el9s.noarch 21/169 DEBUG util.py:445: Installing : python3-voluptuous-0.13.1-1.el9s.noarch 22/169 DEBUG util.py:445: Installing : python3-vine-5.0.0-3.el9s.noarch 23/169 DEBUG util.py:445: Installing : python3-amqp-5.1.1-1.el9s.noarch 24/169 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el9s.noarch 25/169 DEBUG util.py:445: Installing : python3-tempita-0.5.2-2.el9s.noarch 26/169 DEBUG util.py:445: Installing : python3-msgpack-1.0.4-3.el9s.x86_64 27/169 DEBUG util.py:445: Installing : python3-jeepney-0.8.0-3.el9s.noarch 28/169 DEBUG util.py:445: Installing : python3-fasteners-0.17.3-5.el9s.noarch 29/169 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-15.el9.x86_64 30/169 DEBUG util.py:445: Installing : python3-attrs-20.3.0-7.el9.noarch 31/169 DEBUG util.py:445: Installing : python3-kombu-1:5.2.4-3.el9s.noarch 32/169 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20220913093411.d4b1896. 33/169 DEBUG util.py:445: Installing : python3-etcd3gw-1.0.0-2.el9s.noarch 34/169 DEBUG util.py:445: Installing : python3-sushy-4.3.2-0.20221128094849.6c521c5.el9 35/169 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-21.el9s.noarch 36/169 DEBUG util.py:445: Installing : python3-deprecated-1.2.13-3.el9s.noarch 37/169 DEBUG util.py:445: Installing : python3-prometheus_client-0.9.0-2.el9s.noarch 38/169 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-2.el9s.x86_64 39/169 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-2.el9s.x86_64 40/169 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-8.el9s.noarch 41/169 DEBUG util.py:445: Installing : python3-zipp-3.6.0-1.el9s.noarch 42/169 DEBUG util.py:445: Installing : python3-importlib-metadata-4.12.0-2.el9s.noarch 43/169 DEBUG util.py:445: Installing : python3-yappi-1.3.6-1.el9s.x86_64 44/169 DEBUG util.py:445: Installing : python3-waitress-2.1.2-1.el9s.noarch 45/169 DEBUG util.py:445: Installing : python3-uhashring-2.1-1.el9s.noarch 46/169 DEBUG util.py:445: Installing : python3-testresources-2.0.1-2.el9s.noarch 47/169 DEBUG util.py:445: Installing : python3-statsd-3.2.1-20.el9s.noarch 48/169 DEBUG util.py:445: Installing : python3-sqlparse-0.4.2-4.el9s.noarch 49/169 DEBUG util.py:445: Installing : python3-migrate-0.13.0-5.el9s.noarch 50/169 DEBUG util.py:445: Installing : python3-soupsieve-2.3.2.post1-1.el9s.noarch 51/169 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.10.0-1.el9s.noarch 52/169 DEBUG util.py:445: Installing : python3-lxml-4.6.5-3.el9.x86_64 53/169 DEBUG util.py:445: Installing : python3-smi-0.3.4-10.el9s.noarch 54/169 DEBUG util.py:445: Installing : python3-rfc3986-1.5.0-1.el9s.noarch 55/169 DEBUG util.py:445: Installing : python3-retrying-1.3.3-2.el9s.noarch 56/169 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-10.el9s.noarch 57/169 DEBUG util.py:445: Installing : python3-routes-2.5.1-1.el9s.noarch 58/169 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-3.el9s.noarch 59/169 DEBUG util.py:445: Installing : python3-munch-2.5.0-4.el9s.noarch 60/169 DEBUG util.py:445: Installing : python3-memcached-1.59-3.el9s.noarch 61/169 DEBUG util.py:445: Installing : python3-logutils-0.3.5-15.el9s.noarch 62/169 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-2.el9s.noarch 63/169 DEBUG util.py:445: Installing : python3-zake-0.2.2-22.el9s.noarch 64/169 DEBUG util.py:445: Installing : python3-jmespath-0.10.0-1.el9s.noarch 65/169 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-3.el9s.noarch 66/169 DEBUG util.py:445: Installing : python3-zeroconf-0.38.7-1.el9s.noarch 67/169 DEBUG util.py:445: Installing : python3-future-0.18.2-9.el9s.noarch 68/169 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el9s.noarch 69/169 DEBUG util.py:445: Installing : python3-cachetools-5.2.0-3.el9s.noarch 70/169 DEBUG util.py:445: Installing : python3-autopage-0.5.1-1.el9s.noarch 71/169 DEBUG util.py:445: Installing : python3-async-timeout-4.0.2-5.el9s.noarch 72/169 DEBUG util.py:445: Installing : python3-redis-4.3.4-1.el9s.noarch 73/169 DEBUG util.py:445: Installing : libsodium-1.0.18-7.el9s.x86_64 74/169 DEBUG util.py:445: Installing : zlib-devel-1.2.11-39.el9.x86_64 75/169 DEBUG util.py:445: Installing : xz-devel-5.2.5-8.el9.x86_64 76/169 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-8.el9.noarch 77/169 DEBUG util.py:445: Installing : python3-cmd2-2.4.2-1.el9s.noarch 78/169 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-8.el9.x86_64 79/169 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-13.el9.noarch 80/169 DEBUG util.py:445: Installing : python3-pyasn1-0.4.8-6.el9.noarch 81/169 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-6.el9s.noarch 82/169 DEBUG util.py:445: Installing : python3-psutil-5.8.0-12.el9.x86_64 83/169 DEBUG util.py:445: Installing : python3-jsonpointer-2.0-4.el9.noarch 84/169 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-16.el9.noarch 85/169 DEBUG util.py:445: Installing : python3-warlock-1.3.3-5.el9s.noarch 86/169 DEBUG util.py:445: Installing : python3-appdirs-1.4.4-4.el9.noarch 87/169 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 88/169 DEBUG util.py:445: Installing : memcached-1.6.9-7.el9.x86_64 88/169 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 88/169 DEBUG util.py:445: Installing : python3-binary-memcached-0.31.1-1.el9s.noarch 89/169 DEBUG util.py:445: Installing : libgpg-error-devel-1.42-5.el9.x86_64 90/169 DEBUG util.py:445: Installing : gmp-c++-1:6.2.0-10.el9.x86_64 91/169 DEBUG util.py:445: Installing : cmake-filesystem-3.20.2-8.el9.x86_64 92/169 DEBUG util.py:445: Installing : libxml2-devel-2.9.13-3.el9.x86_64 93/169 DEBUG util.py:445: Installing : python3-ply-3.11-14.el9.noarch 94/169 DEBUG util.py:445: Installing : python3-pycparser-2.20-6.el9.noarch 95/169 DEBUG util.py:445: Installing : python3-cffi-1.14.5-5.el9.x86_64 96/169 DEBUG util.py:445: Installing : python3-cryptography-36.0.1-2.el9.x86_64 97/169 DEBUG util.py:445: Installing : python3-pyOpenSSL-20.0.1-2.el9s.noarch 98/169 DEBUG util.py:445: Installing : python3-paste-3.5.0-3.el9s.noarch 99/169 DEBUG util.py:445: Installing : python3-bcrypt-3.2.2-4.el9s.x86_64 100/169 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-2.el9s.noarch 101/169 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-6.el9.noarch 102/169 DEBUG util.py:445: Installing : python3-pyghmi-1.5.34-2.el9.noarch 103/169 DEBUG util.py:445: Installing : python3-secretstorage-3.3.1-1.el9s.noarch 104/169 DEBUG util.py:445: Installing : python3-keyring-21.8.0-2.el9s.noarch 105/169 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-2.el9s.x86_64 106/169 DEBUG util.py:445: Installing : python3-inotify-0.9.6-25.el9.noarch 107/169 DEBUG util.py:445: Installing : openldap-compat-2.6.2-3.el9.x86_64 108/169 DEBUG util.py:445: Installing : libpq-13.5-1.el9.x86_64 109/169 DEBUG util.py:445: Installing : python3-psycopg2-2.8.6-6.el9.x86_64 110/169 DEBUG util.py:445: Installing : libyaml-0.2.5-7.el9.x86_64 111/169 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-6.el9.x86_64 112/169 DEBUG util.py:445: Installing : python3-cliff-4.0.0-0.20220913115843.58c853d.el9 113/169 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022090908041 114/169 DEBUG util.py:445: Installing : python3-openstacksdk-0.101.0-0.20221103174000.43 115/169 DEBUG util.py:445: Installing : python3-os-client-config-2.1.0-0.20220909115251. 116/169 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20220909140437.4179 117/169 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-3.0.1-0.202209 118/169 DEBUG util.py:445: Installing : python-oslo-utils-lang-6.0.1-0.20220910090500.76 119/169 DEBUG util.py:445: Installing : python-oslo-policy-lang-4.0.0-0.20220913100707.5 120/169 DEBUG util.py:445: Installing : python-oslo-middleware-lang-5.0.0-0.202209131001 121/169 DEBUG util.py:445: Installing : python-oslo-log-lang-5.0.0-0.20220910091625.6401 122/169 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20220910085450.b03 123/169 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20220910085450.b031d17 124/169 DEBUG util.py:445: Installing : python3-oslo-utils-6.0.1-0.20220910090500.760deb 125/169 DEBUG util.py:445: Installing : python3-oslo-config-2:9.0.0-0.20220913094852.9ea 126/169 DEBUG util.py:445: Installing : python3-oslo-serialization-5.0.0-0.2022091009102 127/169 DEBUG util.py:445: Installing : python3-oslo-log-5.0.0-0.20220910091625.6401da7. 128/169 DEBUG util.py:445: Installing : python3-keystoneclient-1:5.0.1-0.20220913140034. 129/169 DEBUG util.py:445: Installing : python3-oslo-metrics-0.5.0-0.20220913095319.fc22 130/169 DEBUG util.py:445: Installing : python3-oslo-policy-4.0.0-0.20220913100707.5bd76 131/169 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20220909140437.4179996.el 132/169 DEBUG util.py:445: Installing : python3-oslo-middleware-5.0.0-0.20220913100152.5 133/169 DEBUG util.py:445: Installing : python3-osc-lib-2.6.2-0.20220913141526.d438afa.e 134/169 DEBUG util.py:445: Installing : python-oslo-db-lang-12.1.0-0.20220929090402.7f36 135/169 DEBUG util.py:445: Installing : python3-oslo-db-12.1.0-0.20220929090402.7f3647b. 136/169 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-5.0.1-0.20220913105 137/169 DEBUG util.py:445: Installing : python3-oslo-concurrency-5.0.1-0.20220913105944. 138/169 DEBUG util.py:445: Installing : python3-oslo-service-3.0.0-0.20220913101925.a27a 139/169 DEBUG util.py:445: Installing : python3-oslo-messaging-14.0.0-0.20220913121539.e 140/169 DEBUG util.py:445: Installing : python-oslo-cache-lang-3.2.0-0.20221128115944.dd 141/169 DEBUG util.py:445: Installing : python3-oslo-cache-3.2.0-0.20221128115944.dde16c 142/169 DEBUG util.py:445: Installing : python3-keystonemiddleware-10.1.0-0.202209141630 143/169 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-3.0.1-0.2022091311 144/169 DEBUG util.py:445: Installing : python3-osprofiler-3.4.3-0.20220913113327.328630 145/169 DEBUG util.py:445: Installing : python3-ironic-lib-5.3.0-0.20220914172957.340a4b 146/169 DEBUG util.py:445: Installing : python3-proliantutils-2.14.0-0.20221123184856.de 147/169 DEBUG util.py:445: Installing : python3-oslo-db-tests-12.1.0-0.20220929090402.7f 148/169 DEBUG util.py:445: Installing : python3-neutronclient-8.1.0-0.20220913152130.746 149/169 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-2.0.0-0.20220913113658 150/169 DEBUG util.py:445: Installing : python3-swiftclient-4.1.0-0.20220913142202.662e5 151/169 DEBUG util.py:445: Installing : python3-oslo-reports-2.4.0-0.20220913094305.3a11 152/169 DEBUG util.py:445: Installing : python3-tooz-3.1.0-0.20220929085219.cb0392c.el9. 153/169 DEBUG util.py:445: Installing : python3-scciclient-0.12.2-0.20220914082215.56273 154/169 DEBUG util.py:445: Installing : python3-cinderclient-9.1.0-0.20220913141756.730a 155/169 DEBUG util.py:445: Installing : python3-glanceclient-1:4.1.0-0.20220913122332.f2 156/169 DEBUG util.py:445: Installing : python3-stestr-3.2.0-3.el9s.noarch 157/169 DEBUG util.py:445: Installing : libxslt-devel-1.1.34-9.el9.x86_64 158/169 DEBUG util.py:445: Installing : gmp-devel-1:6.2.0-10.el9.x86_64 159/169 DEBUG util.py:445: Installing : python3-pecan-1.4.2-2.el9s.noarch 160/169 DEBUG util.py:445: Installing : python3-dracclient-8.0.1-0.20230105105333.ce67a0 161/169 DEBUG util.py:445: Installing : python3-webtest-3.0.0-1.el9s.noarch 162/169 DEBUG util.py:445: Installing : python3-automaton-3.0.1-0.20220913101013.0ea747e 163/169 DEBUG util.py:445: Installing : python3-mock-4.0.3-5.el9s.noarch 164/169 DEBUG util.py:445: Installing : python3-ddt-1.6.0-1.el9s.noarch 165/169 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-5.el9.noarch 166/169 DEBUG util.py:445: Installing : openssl-devel-1:3.0.7-6.el9.x86_64 167/169 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1 168/169 DEBUG util.py:445: Installing : python3-os-traits-2.9.0-0.20220913121852.fc91a78 169/169 DEBUG util.py:445: Running scriptlet: python3-os-traits-2.9.0-0.20220913121852.fc91a78 169/169 DEBUG util.py:445: Verifying : python-oslo-cache-lang-3.2.0-0.20221128115944.dd 1/169 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-5.0.1-0.20220913105 2/169 DEBUG util.py:445: Verifying : python-oslo-db-lang-12.1.0-0.20220929090402.7f36 3/169 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20220910085450.b03 4/169 DEBUG util.py:445: Verifying : python-oslo-log-lang-5.0.0-0.20220910091625.6401 5/169 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-5.0.0-0.202209131001 6/169 DEBUG util.py:445: Verifying : python-oslo-policy-lang-4.0.0-0.20220913100707.5 7/169 DEBUG util.py:445: Verifying : python-oslo-utils-lang-6.0.1-0.20220910090500.76 8/169 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-3.0.1-0.202209 9/169 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20220909140437.4179 10/169 DEBUG util.py:445: Verifying : python3-automaton-3.0.1-0.20220913101013.0ea747e 11/169 DEBUG util.py:445: Verifying : python3-cliff-4.0.0-0.20220913115843.58c853d.el9 12/169 DEBUG util.py:445: Verifying : python3-debtcollector-2.5.0-0.20221124135348.a6b 13/169 DEBUG util.py:445: Verifying : python3-futurist-2.4.1-0.20220912114933.159d752. 14/169 DEBUG util.py:445: Verifying : python3-os-traits-2.9.0-0.20220913121852.fc91a78 15/169 DEBUG util.py:445: Verifying : python3-oslo-cache-3.2.0-0.20221128115944.dde16c 16/169 DEBUG util.py:445: Verifying : python3-oslo-concurrency-5.0.1-0.20220913105944. 17/169 DEBUG util.py:445: Verifying : python3-oslo-config-2:9.0.0-0.20220913094852.9ea 18/169 DEBUG util.py:445: Verifying : python3-oslo-context-5.0.0-0.20220910084952.f388 19/169 DEBUG util.py:445: Verifying : python3-oslo-db-12.1.0-0.20220929090402.7f3647b. 20/169 DEBUG util.py:445: Verifying : python3-oslo-db-tests-12.1.0-0.20220929090402.7f 21/169 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20220910085450.b031d17 22/169 DEBUG util.py:445: Verifying : python3-oslo-log-5.0.0-0.20220910091625.6401da7. 23/169 DEBUG util.py:445: Verifying : python3-oslo-messaging-14.0.0-0.20220913121539.e 24/169 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.5.0-0.20220913095319.fc22 25/169 DEBUG util.py:445: Verifying : python3-oslo-middleware-5.0.0-0.20220913100152.5 26/169 DEBUG util.py:445: Verifying : python3-oslo-policy-4.0.0-0.20220913100707.5bd76 27/169 DEBUG util.py:445: Verifying : python3-oslo-reports-2.4.0-0.20220913094305.3a11 28/169 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1 29/169 DEBUG util.py:445: Verifying : python3-oslo-serialization-5.0.0-0.2022091009102 30/169 DEBUG util.py:445: Verifying : python3-oslo-service-3.0.0-0.20220913101925.a27a 31/169 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-2.0.0-0.20220913113658 32/169 DEBUG util.py:445: Verifying : python3-oslo-utils-6.0.1-0.20220910090500.760deb 33/169 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-3.0.1-0.2022091311 34/169 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.3-0.20220913113327.328630 35/169 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20220909140437.4179996.el 36/169 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022090908041 37/169 DEBUG util.py:445: Verifying : python3-tooz-3.1.0-0.20220929085219.cb0392c.el9. 38/169 DEBUG util.py:445: Verifying : python3-dracclient-8.0.1-0.20230105105333.ce67a0 39/169 DEBUG util.py:445: Verifying : python3-ironic-lib-5.3.0-0.20220914172957.340a4b 40/169 DEBUG util.py:445: Verifying : python3-proliantutils-2.14.0-0.20221123184856.de 41/169 DEBUG util.py:445: Verifying : python3-scciclient-0.12.2-0.20220914082215.56273 42/169 DEBUG util.py:445: Verifying : python3-sushy-4.3.2-0.20221128094849.6c521c5.el9 43/169 DEBUG util.py:445: Verifying : python3-keystoneauth1-5.0.0-0.20220913114133.244 44/169 DEBUG util.py:445: Verifying : python3-keystonemiddleware-10.1.0-0.202209141630 45/169 DEBUG util.py:445: Verifying : python3-os-client-config-2.1.0-0.20220909115251. 46/169 DEBUG util.py:445: Verifying : python3-cinderclient-9.1.0-0.20220913141756.730a 47/169 DEBUG util.py:445: Verifying : python3-glanceclient-1:4.1.0-0.20220913122332.f2 48/169 DEBUG util.py:445: Verifying : python3-keystoneclient-1:5.0.1-0.20220913140034. 49/169 DEBUG util.py:445: Verifying : python3-neutronclient-8.1.0-0.20220913152130.746 50/169 DEBUG util.py:445: Verifying : python3-openstacksdk-0.101.0-0.20221103174000.43 51/169 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220909081319. 52/169 DEBUG util.py:445: Verifying : python3-osc-lib-2.6.2-0.20220913141526.d438afa.e 53/169 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20220913093411.d4b1896. 54/169 DEBUG util.py:445: Verifying : python3-stevedore-4.0.2-0.20221021075011.93f1e09 55/169 DEBUG util.py:445: Verifying : python3-swiftclient-4.1.0-0.20220913142202.662e5 56/169 DEBUG util.py:445: Verifying : libyaml-0.2.5-7.el9.x86_64 57/169 DEBUG util.py:445: Verifying : openldap-compat-2.6.2-3.el9.x86_64 58/169 DEBUG util.py:445: Verifying : python3-cffi-1.14.5-5.el9.x86_64 59/169 DEBUG util.py:445: Verifying : python3-cryptography-36.0.1-2.el9.x86_64 60/169 DEBUG util.py:445: Verifying : python3-dateutil-1:2.8.1-6.el9.noarch 61/169 DEBUG util.py:445: Verifying : python3-decorator-4.4.2-6.el9.noarch 62/169 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-25.el9.noarch 63/169 DEBUG util.py:445: Verifying : python3-ply-3.11-14.el9.noarch 64/169 DEBUG util.py:445: Verifying : python3-pycparser-2.20-6.el9.noarch 65/169 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-6.el9.x86_64 66/169 DEBUG util.py:445: Verifying : cmake-filesystem-3.20.2-8.el9.x86_64 67/169 DEBUG util.py:445: Verifying : gmp-c++-1:6.2.0-10.el9.x86_64 68/169 DEBUG util.py:445: Verifying : gmp-devel-1:6.2.0-10.el9.x86_64 69/169 DEBUG util.py:445: Verifying : libgpg-error-devel-1.42-5.el9.x86_64 70/169 DEBUG util.py:445: Verifying : libpq-13.5-1.el9.x86_64 71/169 DEBUG util.py:445: Verifying : libxml2-devel-2.9.13-3.el9.x86_64 72/169 DEBUG util.py:445: Verifying : libxslt-devel-1.1.34-9.el9.x86_64 73/169 DEBUG util.py:445: Verifying : memcached-1.6.9-7.el9.x86_64 74/169 DEBUG util.py:445: Verifying : openssl-devel-1:3.0.7-6.el9.x86_64 75/169 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-6.el9.noarch 76/169 DEBUG util.py:445: Verifying : python3-appdirs-1.4.4-4.el9.noarch 77/169 DEBUG util.py:445: Verifying : python3-attrs-20.3.0-7.el9.noarch 78/169 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-16.el9.noarch 79/169 DEBUG util.py:445: Verifying : python3-jsonpointer-2.0-4.el9.noarch 80/169 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-13.el9.noarch 81/169 DEBUG util.py:445: Verifying : python3-lxml-4.6.5-3.el9.x86_64 82/169 DEBUG util.py:445: Verifying : python3-mako-1.1.4-6.el9.noarch 83/169 DEBUG util.py:445: Verifying : python3-netaddr-0.8.0-5.el9.noarch 84/169 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-15.el9.x86_64 85/169 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-27.el9.noarch 86/169 DEBUG util.py:445: Verifying : python3-psutil-5.8.0-12.el9.x86_64 87/169 DEBUG util.py:445: Verifying : python3-psycopg2-2.8.6-6.el9.x86_64 88/169 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.8-6.el9.noarch 89/169 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-5.el9.noarch 90/169 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.34-2.el9.noarch 91/169 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-8.el9.x86_64 92/169 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-8.el9.noarch 93/169 DEBUG util.py:445: Verifying : xz-devel-5.2.5-8.el9.x86_64 94/169 DEBUG util.py:445: Verifying : zlib-devel-1.2.11-39.el9.x86_64 95/169 DEBUG util.py:445: Verifying : libsodium-1.0.18-7.el9s.x86_64 96/169 DEBUG util.py:445: Verifying : python3-alembic-1.8.1-1.el9s.noarch 97/169 DEBUG util.py:445: Verifying : python3-amqp-5.1.1-1.el9s.noarch 98/169 DEBUG util.py:445: Verifying : python3-async-timeout-4.0.2-5.el9s.noarch 99/169 DEBUG util.py:445: Verifying : python3-autopage-0.5.1-1.el9s.noarch 100/169 DEBUG util.py:445: Verifying : python3-bcrypt-3.2.2-4.el9s.x86_64 101/169 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.10.0-1.el9s.noarch 102/169 DEBUG util.py:445: Verifying : python3-binary-memcached-0.31.1-1.el9s.noarch 103/169 DEBUG util.py:445: Verifying : python3-cachetools-5.2.0-3.el9s.noarch 104/169 DEBUG util.py:445: Verifying : python3-cmd2-2.4.2-1.el9s.noarch 105/169 DEBUG util.py:445: Verifying : python3-ddt-1.6.0-1.el9s.noarch 106/169 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el9s.noarch 107/169 DEBUG util.py:445: Verifying : python3-deprecated-1.2.13-3.el9s.noarch 108/169 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.8-1.el9s.noarch 109/169 DEBUG util.py:445: Verifying : python3-etcd3gw-1.0.0-2.el9s.noarch 110/169 DEBUG util.py:445: Verifying : python3-extras-1.0.0-15.el9s.noarch 111/169 DEBUG util.py:445: Verifying : python3-fasteners-0.17.3-5.el9s.noarch 112/169 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-27.el9s.noarch 113/169 DEBUG util.py:445: Verifying : python3-future-0.18.2-9.el9s.noarch 114/169 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-3.el9s.noarch 115/169 DEBUG util.py:445: Verifying : python3-importlib-metadata-4.12.0-2.el9s.noarch 116/169 DEBUG util.py:445: Verifying : python3-iso8601-1.0.2-2.el9s.noarch 117/169 DEBUG util.py:445: Verifying : python3-jeepney-0.8.0-3.el9s.noarch 118/169 DEBUG util.py:445: Verifying : python3-jmespath-0.10.0-1.el9s.noarch 119/169 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-2.el9s.noarch 120/169 DEBUG util.py:445: Verifying : python3-keyring-21.8.0-2.el9s.noarch 121/169 DEBUG util.py:445: Verifying : python3-kombu-1:5.2.4-3.el9s.noarch 122/169 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-15.el9s.noarch 123/169 DEBUG util.py:445: Verifying : python3-memcached-1.59-3.el9s.noarch 124/169 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-5.el9s.noarch 125/169 DEBUG util.py:445: Verifying : python3-mock-4.0.3-5.el9s.noarch 126/169 DEBUG util.py:445: Verifying : python3-msgpack-1.0.4-3.el9s.x86_64 127/169 DEBUG util.py:445: Verifying : python3-munch-2.5.0-4.el9s.noarch 128/169 DEBUG util.py:445: Verifying : python3-paste-3.5.0-3.el9s.noarch 129/169 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-2.el9s.noarch 130/169 DEBUG util.py:445: Verifying : python3-pecan-1.4.2-2.el9s.noarch 131/169 DEBUG util.py:445: Verifying : python3-prometheus_client-0.9.0-2.el9s.noarch 132/169 DEBUG util.py:445: Verifying : python3-pyOpenSSL-20.0.1-2.el9s.noarch 133/169 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-2.el9s.x86_64 134/169 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-8.el9s.noarch 135/169 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-3.el9s.noarch 136/169 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-6.el9s.noarch 137/169 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-2.el9s.x86_64 138/169 DEBUG util.py:445: Verifying : python3-redis-4.3.4-1.el9s.noarch 139/169 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-10.el9s.noarch 140/169 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-2.el9s.noarch 141/169 DEBUG util.py:445: Verifying : python3-rfc3986-1.5.0-1.el9s.noarch 142/169 DEBUG util.py:445: Verifying : python3-routes-2.5.1-1.el9s.noarch 143/169 DEBUG util.py:445: Verifying : python3-secretstorage-3.3.1-1.el9s.noarch 144/169 DEBUG util.py:445: Verifying : python3-simplejson-3.17.6-2.el9s.x86_64 145/169 DEBUG util.py:445: Verifying : python3-smi-0.3.4-10.el9s.noarch 146/169 DEBUG util.py:445: Verifying : python3-soupsieve-2.3.2.post1-1.el9s.noarch 147/169 DEBUG util.py:445: Verifying : python3-sqlparse-0.4.2-4.el9s.noarch 148/169 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-20.el9s.noarch 149/169 DEBUG util.py:445: Verifying : python3-stestr-3.2.0-3.el9s.noarch 150/169 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-6.el9s.noarch 151/169 DEBUG util.py:445: Verifying : python3-tempita-0.5.2-2.el9s.noarch 152/169 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el9s.noarch 153/169 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-2.el9s.noarch 154/169 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-21.el9s.noarch 155/169 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-2.el9s.noarch 156/169 DEBUG util.py:445: Verifying : python3-uhashring-2.1-1.el9s.noarch 157/169 DEBUG util.py:445: Verifying : python3-vine-5.0.0-3.el9s.noarch 158/169 DEBUG util.py:445: Verifying : python3-voluptuous-0.13.1-1.el9s.noarch 159/169 DEBUG util.py:445: Verifying : python3-waitress-2.1.2-1.el9s.noarch 160/169 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-5.el9s.noarch 161/169 DEBUG util.py:445: Verifying : python3-webob-1.8.7-1.el9s.noarch 162/169 DEBUG util.py:445: Verifying : python3-webtest-3.0.0-1.el9s.noarch 163/169 DEBUG util.py:445: Verifying : python3-wrapt-1.14.1-1.el9s.x86_64 164/169 DEBUG util.py:445: Verifying : python3-yappi-1.3.6-1.el9s.x86_64 165/169 DEBUG util.py:445: Verifying : python3-zake-0.2.2-22.el9s.noarch 166/169 DEBUG util.py:445: Verifying : python3-zeroconf-0.38.7-1.el9s.noarch 167/169 DEBUG util.py:445: Verifying : python3-zipp-3.6.0-1.el9s.noarch 168/169 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-2.el9s.x86_64 169/169 DEBUG util.py:445: Installed: DEBUG util.py:445: cmake-filesystem-3.20.2-8.el9.x86_64 DEBUG util.py:445: gmp-c++-1:6.2.0-10.el9.x86_64 DEBUG util.py:445: gmp-devel-1:6.2.0-10.el9.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: libpq-13.5-1.el9.x86_64 DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: libxml2-devel-2.9.13-3.el9.x86_64 DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: openldap-compat-2.6.2-3.el9.x86_64 DEBUG util.py:445: openssl-devel-1:3.0.7-6.el9.x86_64 DEBUG util.py:445: python-oslo-cache-lang-3.2.0-0.20221128115944.dde16ce.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-5.0.1-0.20220913105944.01cf2ff.el9.noarch DEBUG util.py:445: python-oslo-db-lang-12.1.0-0.20220929090402.7f3647b.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220910085450.b031d17.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.0.0-0.20220910091625.6401da7.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-5.0.0-0.20220913100152.51e1882.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.0.0-0.20220913100707.5bd767b.el9.noarch DEBUG util.py:445: python-oslo-utils-lang-6.0.1-0.20220910090500.760deb9.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.0.1-0.20220913115328.2b12029.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220909140437.4179996.el9.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: python3-amqp-5.1.1-1.el9s.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-automaton-3.0.1-0.20220913101013.0ea747e.el9.noarch DEBUG util.py:445: python3-autopage-0.5.1-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.10.0-1.el9s.noarch DEBUG util.py:445: python3-binary-memcached-0.31.1-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.2.0-3.el9s.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cinderclient-9.1.0-0.20220913141756.730a8c7.el9.noarch DEBUG util.py:445: python3-cliff-4.0.0-0.20220913115843.58c853d.el9.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-cryptography-36.0.1-2.el9.x86_64 DEBUG util.py:445: python3-dateutil-1:2.8.1-6.el9.noarch DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch DEBUG util.py:445: python3-debtcollector-2.5.0-0.20221124135348.a6b46c5.el9.noarch DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-defusedxml-0.7.1-1.el9s.noarch DEBUG util.py:445: python3-deprecated-1.2.13-3.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.1.8-1.el9s.noarch DEBUG util.py:445: python3-dracclient-8.0.1-0.20230105105333.ce67a01.el9.noarch DEBUG util.py:445: python3-etcd3gw-1.0.0-2.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-fasteners-0.17.3-5.el9s.noarch DEBUG util.py:445: python3-fixtures-3.0.0-27.el9s.noarch DEBUG util.py:445: python3-future-0.18.2-9.el9s.noarch DEBUG util.py:445: python3-futurist-2.4.1-0.20220912114933.159d752.el9.noarch DEBUG util.py:445: python3-glanceclient-1:4.1.0-0.20220913122332.f2999ce.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-4.12.0-2.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-ironic-lib-5.3.0-0.20220914172957.340a4b2.el9.noarch DEBUG util.py:445: python3-iso8601-1.0.2-2.el9s.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-jmespath-0.10.0-1.el9s.noarch DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch DEBUG util.py:445: python3-jsonschema-3.2.0-13.el9.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-keyring-21.8.0-2.el9s.noarch DEBUG util.py:445: python3-keystoneauth1-5.0.0-0.20220913114133.2445a5d.el9.noarch DEBUG util.py:445: python3-keystoneclient-1:5.0.1-0.20220913140034.bc8e9e7.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.1.0-0.20220914163026.f7ac6a1.el9.noarch DEBUG util.py:445: python3-kombu-1:5.2.4-3.el9s.noarch DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: python3-mock-4.0.3-5.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.4-3.el9s.x86_64 DEBUG util.py:445: python3-munch-2.5.0-4.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-neutronclient-8.1.0-0.20220913152130.7467c71.el9.noarch DEBUG util.py:445: python3-openstacksdk-0.101.0-0.20221103174000.433815d.el9.noarch DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220909115251.bc96c23.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220909081319.0b2f473.el9.noarch DEBUG util.py:445: python3-os-traits-2.9.0-0.20220913121852.fc91a78.el9.noarch DEBUG util.py:445: python3-osc-lib-2.6.2-0.20220913141526.d438afa.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.2.0-0.20221128115944.dde16ce.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-5.0.1-0.20220913105944.01cf2ff.el9.noarch DEBUG util.py:445: python3-oslo-config-2:9.0.0-0.20220913094852.9eaae04.el9.noarch DEBUG util.py:445: python3-oslo-context-5.0.0-0.20220910084952.f388eb9.el9.noarch DEBUG util.py:445: python3-oslo-db-12.1.0-0.20220929090402.7f3647b.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-12.1.0-0.20220929090402.7f3647b.el9.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220910085450.b031d17.el9.noarch DEBUG util.py:445: python3-oslo-log-5.0.0-0.20220910091625.6401da7.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.0.0-0.20220913121539.e44f286.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.5.0-0.20220913095319.fc22d0d.el9.noarch DEBUG util.py:445: python3-oslo-middleware-5.0.0-0.20220913100152.51e1882.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.0.0-0.20220913100707.5bd767b.el9.noarch DEBUG util.py:445: python3-oslo-reports-2.4.0-0.20220913094305.3a1157f.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1b960.el9.noarch DEBUG util.py:445: python3-oslo-serialization-5.0.0-0.20220910091027.dd2a819.el9.noarch DEBUG util.py:445: python3-oslo-service-3.0.0-0.20220913101925.a27acfe.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.0.0-0.20220913113658.b3a2b19.el9.noarch DEBUG util.py:445: python3-oslo-utils-6.0.1-0.20220910090500.760deb9.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.0.1-0.20220913115328.2b12029.el9.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20220913093411.d4b1896.el9.noarch DEBUG util.py:445: python3-osprofiler-3.4.3-0.20220913113327.3286301.el9.noarch DEBUG util.py:445: python3-paste-3.5.0-3.el9s.noarch DEBUG util.py:445: python3-paste-deploy-2.1.1-2.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-proliantutils-2.14.0-0.20221123184856.de9759c.el9.noarch DEBUG util.py:445: python3-prometheus_client-0.9.0-2.el9s.noarch DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 DEBUG util.py:445: python3-psycopg2-2.8.6-6.el9.x86_64 DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch DEBUG util.py:445: python3-pyasn1-0.4.8-6.el9.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20220909140437.4179996.el9.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-pyghmi-1.5.34-2.el9.noarch DEBUG util.py:445: python3-pynacl-1.4.0-2.el9s.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.0-3.el9s.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-pysnmp-4.4.12-6.el9s.noarch DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-redis-4.3.4-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220909080418.d7ac0ff.el9.noarch DEBUG util.py:445: python3-retrying-1.3.3-2.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-scciclient-0.12.2-0.20220914082215.5627307.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-simplejson-3.17.6-2.el9s.x86_64 DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.3.2.post1-1.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-stestr-3.2.0-3.el9s.noarch DEBUG util.py:445: python3-stevedore-4.0.2-0.20221021075011.93f1e09.el9.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-sushy-4.3.2-0.20221128094849.6c521c5.el9.noarch DEBUG util.py:445: python3-swiftclient-4.1.0-0.20220913142202.662e530.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-tenacity-6.3.1-1.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testtools-2.5.0-2.el9s.noarch DEBUG util.py:445: python3-tooz-3.1.0-0.20220929085219.cb0392c.el9.noarch DEBUG util.py:445: python3-uhashring-2.1-1.el9s.noarch DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.13.1-1.el9s.noarch DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-warlock-1.3.3-5.el9s.noarch DEBUG util.py:445: python3-wcwidth-0.2.5-8.el9.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch DEBUG util.py:445: python3-wrapt-1.14.1-1.el9s.x86_64 DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-39.el9.x86_64 DEBUG util.py:445: Complete! 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: rpm -qa --root '/var/lib/mock/dlrn-centos9-zed-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'} and shell True DEBUG util.py:445: libgcc-11.3.1-4.4.el9.x86_64 1680124258 198756 10fc335e1a6f1026ce3110995c0c8832 installed DEBUG util.py:445: crypto-policies-20221215-1.git9a18988.el9.noarch 1671105139 84673 d9d7c715c633ae94c443ad807a0805b0 installed DEBUG util.py:445: fonts-filesystem-1:2.0.5-7.el9.1.noarch 1631794425 0 1f223cb786e15b443f5ae9792adc3d8b installed DEBUG util.py:445: hwdata-0.348-9.9.el9.noarch 1678697179 9114744 c4933ceff08e3997547b97faa4976cbe installed DEBUG util.py:445: dejavu-sans-fonts-2.37-18.el9.noarch 1628539909 5930958 03240144ad8b868c22f9168a70823562 installed DEBUG util.py:445: adobe-mappings-cmap-20171205-12.el9.noarch 1628536914 13746679 e083c7da82ac4d6a8ba78b34e0888e13 installed DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-12.el9.noarch 1628536914 596942 b947ffef4f22a6e3d579b3a14cb16e73 installed DEBUG util.py:445: langpacks-core-font-en-3.0-16.el9.noarch 1628548327 351 c459dbf4f89e14c3866201d92a22003f installed DEBUG util.py:445: osinfo-db-20221130-1.el9.noarch 1669835294 3257764 b6c15a17db77cf14e44dbefa5cd9953c installed DEBUG util.py:445: adobe-source-code-pro-fonts-2.030.1.050-12.el9.1.noarch 1655270554 1886539 3fc548ed612acde8d3b41b4b385c3143 installed DEBUG util.py:445: abattis-cantarell-fonts-0.301-4.el9.noarch 1628536854 722408 2732783fee86c9b991c6cd860dd2c453 installed DEBUG util.py:445: google-droid-sans-fonts-20200215-11.el9.2.noarch 1631700183 6557604 d242e1bff048ee93c8785049f06a1b44 installed DEBUG util.py:445: xkeyboard-config-2.33-2.el9.noarch 1628575594 6083876 88ea8a43851daebce64e0f78a3cb495f installed DEBUG util.py:445: rust-srpm-macros-17-4.el9.noarch 1628569449 2447 73293207465a7961b68686701a149929 installed DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el9.noarch 1648128947 492 911bd89c9798d106b3fdc27c4f040ce8 installed DEBUG util.py:445: pyproject-srpm-macros-1.6.2-1.el9.noarch 1676374536 1512 d6e3136b1b36a52d73c8de1902f9bc9b installed DEBUG util.py:445: poppler-data-0.4.9-9.el9.noarch 1628566347 12058151 ae8a3356650b67950bb9170591b59a6e installed DEBUG util.py:445: perl-srpm-macros-1-41.el9.noarch 1628565179 862 6cccf4e84e8d8ff1bfd99a5b08bc765b installed DEBUG util.py:445: openblas-srpm-macros-2-11.el9.noarch 1628560331 104 472d4c6b239cbdfa1a4a1e7465c3878e installed DEBUG util.py:445: ocaml-srpm-macros-6-6.el9.noarch 1628559705 745 621a996cbcddd8e3d3492467821c5a8b installed DEBUG util.py:445: libX11-common-1.7.0-7.el9.noarch 1628554155 1335069 0b22eac3cd698fe246bdbcad1a76c10c installed DEBUG util.py:445: ghc-srpm-macros-1.5.0-6.el9.noarch 1628543357 535 3c30c63eb24feef9d64bfe022fbf9f23 installed DEBUG util.py:445: gawk-all-langpacks-5.1.0-6.el9.x86_64 1645036530 1205149 40b1cb78f729044823f20b7ad90c67b4 installed DEBUG util.py:445: adwaita-cursor-theme-40.1.1-3.el9.noarch 1637316977 12103345 d3b18c32d2219b99074b27745ccd308f installed DEBUG util.py:445: adobe-mappings-pdf-20180407-10.el9.noarch 1628536977 4398414 472ec3c2382d57a2651109823210e159 installed DEBUG util.py:445: vim-filesystem-2:8.2.2637-20.el9.noarch 1675960548 40 ed5b9febbec749144741b0776dadcf49 installed DEBUG util.py:445: python3-setuptools-wheel-53.0.0-12.el9.noarch 1673537930 562584 d57b9b781bc1e7f5b13c21f5de876170 installed DEBUG util.py:445: publicsuffix-list-dafsa-20210518-3.el9.noarch 1644512729 68815 a486e7e01444e3373cb6e6b9418720c7 installed DEBUG util.py:445: pkgconf-m4-1.7.3-10.el9.noarch 1663762969 14187 a4fe05470faa432bdf2bc0da90a72878 installed DEBUG util.py:445: pcre2-syntax-10.40-2.el9.noarch 1652878186 234324 6be88c7d00bd35c06c1ec48d6382d48b installed DEBUG util.py:445: ncurses-base-6.2-8.20210508.el9.noarch 1628558242 307293 f8b190b2f6b39bcae862a39f8f784c55 installed DEBUG util.py:445: libssh-config-0.10.4-8.el9.noarch 1675169920 277 8ef5cf836a414921c1c32d2ee701ade6 installed DEBUG util.py:445: kbd-misc-2.4.0-8.el9.noarch 1642497862 2573480 d0065f2782ebd32d8b38362c55cf1fa3 installed DEBUG util.py:445: fuse-common-3.10.2-5.el9.x86_64 1645022458 38 d9d0fbeeafa6bc3f1a9d97b84deef54f installed DEBUG util.py:445: coreutils-common-8.32-34.el9.x86_64 1673005251 10880498 50756c53ce615b4d933aacaaffac3fe1 installed DEBUG util.py:445: centos-gpg-keys-9.0-21.el9.noarch 1680787626 6047 80d019dcf686a717ed33119b5c9da4db installed DEBUG util.py:445: centos-stream-repos-9.0-21.el9.noarch 1680787626 6854 d7ce159385bd4cb53d512710e0a060c1 installed DEBUG util.py:445: centos-stream-release-9.0-21.el9.noarch 1680787626 29182 2028be55d07ee581ec39df0af92822eb installed DEBUG util.py:445: setup-2.13.7-9.el9.noarch 1671633767 725907 ed9a0a967611b643eb3ac083976b3e33 installed DEBUG util.py:445: filesystem-3.16-2.el9.x86_64 1628541626 106 90e045bb4706b61ef16663b8649ef598 installed DEBUG util.py:445: urw-base35-fonts-common-20200910-6.el9.noarch 1628573895 38280 a4ec9b61bb3e59b1961f6480b6ea1220 installed DEBUG util.py:445: basesystem-11-13.el9.noarch 1628537561 0 7bfb02cc1aeca822f9e4d9405c010142 installed DEBUG util.py:445: ncurses-libs-6.2-8.20210508.el9.x86_64 1628558261 997335 aff0a320c6ef0c11b587a80cceff20d7 installed DEBUG util.py:445: bash-5.1.8-6.el9.x86_64 1669299695 7738626 484ecd827c7bf4c796eb0d41927b3b67 installed DEBUG util.py:445: zlib-1.2.11-39.el9.x86_64 1675969888 202921 c43ee03a564412b53236d9d5b81905aa installed DEBUG util.py:445: libstdc++-11.3.1-4.4.el9.x86_64 1680124258 2524321 28bd97d9bb108eb97ab099933a70b56f installed DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 1654006189 181557 65b27c8fdb646cb879de885e8d8f9d1e installed DEBUG util.py:445: libxml2-2.9.13-3.el9.x86_64 1667347708 1955532 dd248413863438e7b23ea5d4cdee58c2 installed DEBUG util.py:445: bzip2-libs-1.0.8-8.el9.x86_64 1628538275 78740 38bff35b950bac6060a14f532ffd1f3e installed DEBUG util.py:445: libxcrypt-4.4.18-3.el9.x86_64 1628554484 270692 17b62bc0bda4316e3dcf3662261685d4 installed DEBUG util.py:445: libpng-2:1.6.37-12.el9.x86_64 1628552275 232119 3bbeb3eba89728caac0a661ff6640bc6 installed DEBUG util.py:445: expat-2.5.0-1.el9.x86_64 1668091465 309085 daf1d3ed03c8e36c2bdd879550191e35 installed DEBUG util.py:445: libzstd-1.5.1-2.el9.x86_64 1644329495 902051 2e88ccf26d9595c4334ff2db855c8a46 installed DEBUG util.py:445: libjpeg-turbo-2.0.90-6.el9.x86_64 1676388013 647456 c3af3599d6f7adf8090a0e1d73ae6d99 installed DEBUG util.py:445: libcap-2.48-8.el9.x86_64 1643379007 181919 f166382289b545bf125874bf73cd63fd installed DEBUG util.py:445: libuuid-2.37.4-10.el9.x86_64 1675782974 33901 9ccf88e7618f22de9d4f0061f73af5ba installed DEBUG util.py:445: sqlite-libs-3.34.1-6.el9.x86_64 1669282656 1310968 e6250950a2fee057ae32631454b61e46 installed DEBUG util.py:445: libffi-3.4.2-7.el9.x86_64 1629963170 66385 1ca41849390de4e7837be55125f25c81 installed DEBUG util.py:445: p11-kit-0.24.1-2.el9.x86_64 1643726763 1664534 3d57dda773073d793f6dbc99a2631788 installed DEBUG util.py:445: elfutils-libelf-0.188-3.el9.x86_64 1667840837 1027568 4ae445f3c5b8c49601fdd987caa99011 installed DEBUG util.py:445: gmp-1:6.2.0-10.el9.x86_64 1630059079 818100 0238bc9b64c3f55e6dea4a7df3a33fc4 installed DEBUG util.py:445: libgpg-error-1.42-5.el9.x86_64 1638889587 837088 366d999be50089a74158b7f0463f8531 installed DEBUG util.py:445: lcms2-2.12-3.el9.x86_64 1628549005 408572 34bf2942c65d262dff1506aa16b1f721 installed DEBUG util.py:445: nspr-4.34.0-18.el9.x86_64 1679503533 320976 5d5505b7ed595e54e6e3c79279e61a52 installed DEBUG util.py:445: mpfr-4.1.0-7.el9.x86_64 1628557531 802539 88da3a99a529f63efff8ada0eb13b87f installed DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 1667401001 71360 366182addb754f3e390ead562fd358f1 installed DEBUG util.py:445: readline-8.1-4.el9.x86_64 1628568923 492844 04ea87f7f650b71b09c3c80fbbc1263d installed DEBUG util.py:445: alternatives-1.20-2.el9.x86_64 1628538453 63864 e695508113d57d44b4ebf3e8ff708f4a installed DEBUG util.py:445: libgomp-11.3.1-4.4.el9.x86_64 1680124258 420940 e630d1bc9d1ae9f5248f7dc406911f68 installed DEBUG util.py:445: libsepol-3.5-1.el9.x86_64 1677166458 787907 2415881327cde7e26a37f75789c00690 installed DEBUG util.py:445: libogg-2:1.3.4-6.el9.x86_64 1628552055 50186 c37cdc45e445d19b618747d12e4a85bc installed DEBUG util.py:445: libvorbis-1:1.3.7-5.el9.x86_64 1628554367 924357 97f0e94761e756f39b738a3f77520045 installed DEBUG util.py:445: libtool-ltdl-2.4.6-45.el9.x86_64 1643031501 72096 97e97115c09b48f8356f070ece0939a2 installed DEBUG util.py:445: nss-util-3.79.0-18.el9.x86_64 1679503533 229672 b34a79d30bd5bbba05ae435ea3bb04c5 installed DEBUG util.py:445: libgcrypt-1.10.0-10.el9.x86_64 1679647173 1382042 f52cea6f19f1763da2e5ebd1dc6cfdce installed DEBUG util.py:445: libicu-67.1-9.el9.x86_64 1629785371 34109009 759ba2412d5676d3412b8b16734abb2f installed DEBUG util.py:445: gdbm-libs-1:1.19-4.el9.x86_64 1628542967 116306 981b9a7e0c2cddf96d1ac29034ff18a4 installed DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 1628537434 29429 aec8b9f183816020e45285f0143e8850 installed DEBUG util.py:445: libacl-2.3.1-3.el9.x86_64 1628536886 41178 81ea80c9b3b0d3a7962472d0f9b47b74 installed DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 1644930750 75196 46e0b55fb2904dfe43b24ee2c94b3c1a installed DEBUG util.py:445: audit-libs-3.0.7-103.el9.x86_64 1651662838 307409 eee8c142eb28610b50cd01060e49f06e installed DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 1628555809 145483 7d3dca7640cf3d38ba0f9f9615d050cd installed DEBUG util.py:445: pcre2-10.40-2.el9.x86_64 1652878163 653842 a207c34ae569b8bd6a683787ee4009ac installed DEBUG util.py:445: libselinux-3.5-1.el9.x86_64 1677167763 176653 b748121d961cd9e4455c4edfa65915e2 installed DEBUG util.py:445: sed-4.8-9.el9.x86_64 1628569875 813599 8f2001ef117e096e5b2cb761dbe56226 installed DEBUG util.py:445: popt-1.18-8.el9.x86_64 1628566366 130360 f6d016fe6a99581d6c0ec0e43955c05b installed DEBUG util.py:445: alsa-lib-1.2.8-3.el9.x86_64 1676964610 1491754 7e27fd012b8d86137b296fe455e38b12 installed DEBUG util.py:445: libX11-xcb-1.7.0-7.el9.x86_64 1628554506 15596 347f334e55552c7648546b0a49b06c91 installed DEBUG util.py:445: libwebp-1.2.0-3.el9.x86_64 1628554463 786848 ec0604df8f3a2810fe7b3c1696c32b77 installed DEBUG util.py:445: shadow-utils-2:4.9-6.el9.x86_64 1664440134 3812491 31318f4d661e2635228be64971bf2156 installed DEBUG util.py:445: less-590-1.el9.x86_64 1650365101 367208 955d78d480e6b2a8cdb63c744becb2f1 installed DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 1628537853 784562 0064f1719ea79d95cba2d52b8f1a4427 installed DEBUG util.py:445: libcom_err-1.46.5-3.el9.x86_64 1654684820 69041 df994baaafb4503224a2e6415d67de11 installed DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 1636474241 175293 020a54cdbf220f3d6b9889593d0cbb88 installed DEBUG util.py:445: libtdb-1.4.7-1.el9.x86_64 1666356060 103164 423d6951b4a7f237289f8e26988bff61 installed DEBUG util.py:445: libunistring-0.9.10-15.el9.x86_64 1628553516 1643051 df2997eefd8b00af79f36b60155d2564 installed DEBUG util.py:445: libidn2-2.3.0-7.el9.x86_64 1628550537 253460 b999cef1924e493741546dad040d6b64 installed DEBUG util.py:445: lua-libs-5.4.4-3.el9.x86_64 1676300372 549518 3f8bf192fe039cde3f6c6b705881d6f6 installed DEBUG util.py:445: fribidi-1.0.10-6.el9.2.x86_64 1649935865 347380 1a4bad4b26de656b0ab2b35694a6b88a installed DEBUG util.py:445: libICE-1.0.10-8.el9.x86_64 1628550523 174826 b92da4724c87af34f174760835f6c461 installed DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 1628553005 352513 93e9ba1d2f28344ab4c7e3de4a0d0578 installed DEBUG util.py:445: libxshmfence-1.3-10.el9.x86_64 1628554718 15936 1541f0109361779510ce1a64b464d733 installed DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 1657789945 386300 e8b954e12211663055f28b5000b5bc46 installed DEBUG util.py:445: libSM-1.2.3-10.el9.x86_64 1628552822 95269 90c43a5efe3bdbc6de7e6b8eb711d153 installed DEBUG util.py:445: libpsl-0.21.1-5.el9.x86_64 1628552331 78600 48e5ec8c64476be40b82088b405be4ae installed DEBUG util.py:445: findutils-1:4.8.0-5.el9.x86_64 1628541553 1758430 362d37a978cf0d9545582347708b68ff installed DEBUG util.py:445: mesa-libglapi-22.3.0-2.el9.x86_64 1674850636 242336 fa8e497db3de8d47c98f0c57201797c5 installed DEBUG util.py:445: libwayland-cursor-1.21.0-1.el9.x86_64 1667401001 37464 c725fc2424cd1d93bc940cb5d57bcb74 installed DEBUG util.py:445: libmpc-1.2.1-4.el9.x86_64 1628551818 138637 e5e40dad676b06cd7f5ce6e6f6278138 installed DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 1628549434 171165 2ea61cf9eb18aefe03c18facfa6e5980 installed DEBUG util.py:445: libwayland-server-1.21.0-1.el9.x86_64 1667401001 88232 87e9b1d87c1006fca353ba9e67010f1b installed DEBUG util.py:445: exiv2-0.27.5-2.el9.x86_64 1636985354 4632497 bec8af9af0888f31db7af16f7bc4c8bb installed DEBUG util.py:445: exiv2-libs-0.27.5-2.el9.x86_64 1636985354 2794722 9d85f037ac697f35712d3a8404bba519 installed DEBUG util.py:445: libxcrypt-compat-4.4.18-3.el9.x86_64 1628554484 202824 5cc1d82aabed2601b8a39f3f49d50093 installed DEBUG util.py:445: unzip-6.0-56.el9.x86_64 1643206371 401051 feb0641b07ba13eb8bc058b2c0882112 installed DEBUG util.py:445: xml-common-0.6.3-58.el9.noarch 1628570071 80280 e30dff7e045445c260fddaf4c82eb1fe installed DEBUG util.py:445: groff-base-1.22.4-10.el9.x86_64 1633944960 4040774 6f382ca641a7b920bd2f194a36b9a1ef installed DEBUG util.py:445: libproxy-0.4.15-35.el9.x86_64 1629990582 166674 cfaea8d129b2046f49d386a30a2a5b8a installed DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 1629104544 371882 0f497264fb6125739d15f377a5c678c2 installed DEBUG util.py:445: file-libs-5.39-12.el9.x86_64 1675256120 8086651 95d65f7dda36b01cab4105c07082cc16 installed DEBUG util.py:445: file-5.39-12.el9.x86_64 1675256120 102544 9ae4d68dcbf950e38aa8dff8741bcae3 installed DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch 1653477225 73932 acdfc37badce9a922e7cd15ecb790c30 installed DEBUG util.py:445: libedit-3.1-37.20210216cvs.el9.x86_64 1628549970 251951 bb3d11e4a2f3e5bcd144d14e0cbf60db installed DEBUG util.py:445: llvm-libs-15.0.7-1.el9.x86_64 1673649795 94550216 a6ce974f2494a7bb432badea88e13357 installed DEBUG util.py:445: diffutils-3.7-12.el9.x86_64 1628539960 1467825 507f1a0f06465e7a20379fffcb5a941e installed DEBUG util.py:445: fuse-libs-2.9.9-15.el9.x86_64 1642007651 313478 70d2e7238e63f208c24baf09cb52e8f1 installed DEBUG util.py:445: json-c-0.14-11.el9.x86_64 1631617016 79282 3be710938d8b71abae0b12826f2b27d5 installed DEBUG util.py:445: libsigsegv-2.13-4.el9.x86_64 1628552820 50338 8d6efb1981489cae3ba03919e0a84d34 installed DEBUG util.py:445: gawk-5.1.0-6.el9.x86_64 1645036530 1685726 49d54aeca4767b4c1f096902535f8e65 installed DEBUG util.py:445: libsmartcols-2.37.4-10.el9.x86_64 1675782974 134795 8fa73b0c6c2d4cd1869eb31a227b31d4 installed DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 1669910927 183348 7d0ecade4d7aa7f44c7402613f807c65 installed DEBUG util.py:445: p11-kit-trust-0.24.1-2.el9.x86_64 1643726763 450935 dfe5ad5fe7351a8054934923f754fd6b installed DEBUG util.py:445: pcre-8.44-3.el9.3.x86_64 1628561779 539272 47435f5ffc13e691717fa2db7495952e installed DEBUG util.py:445: grep-3.6-5.el9.x86_64 1628545386 857840 b1783007ca41c6a5e2a2a6b09c72ee49 installed DEBUG util.py:445: openssl-libs-1:3.0.7-6.el9.x86_64 1678275876 6767202 083563aa0ea8ffa4a33c467ec0bbe830 installed DEBUG util.py:445: coreutils-8.32-34.el9.x86_64 1673005251 5966370 b2abc8bef4d8382d08991015393aa1bc installed DEBUG util.py:445: ca-certificates-2022.2.54-90.2.el9.noarch 1661447053 2343285 926be50a7da0f8705f82dff650f3e563 installed DEBUG util.py:445: systemd-libs-252-8.el9.x86_64 1677516061 1806344 f810f815a20d35f66bf843494d2a0513 installed DEBUG util.py:445: libblkid-2.37.4-10.el9.x86_64 1675782974 229737 5d470643e399929042b8477102b84c9e installed DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 1670334275 906150 d8567679cfb8225dc2e349cb0ced7f90 installed DEBUG util.py:445: dbus-libs-1:1.12.20-7.el9.x86_64 1666132722 372982 f40ba9f3b93a1654bf40dd8a0bda6ef1 installed DEBUG util.py:445: libmount-2.37.4-10.el9.x86_64 1675782974 310093 84d730b1a10247d2b559ac729c8c2612 installed DEBUG util.py:445: libfdisk-2.37.4-10.el9.x86_64 1675782974 367755 4d4b8ab49a2645255b8f4449e91e4a18 installed DEBUG util.py:445: gzip-1.12-1.el9.x86_64 1650569887 377013 d100c7f7b4f855aeb3d8676072292699 installed DEBUG util.py:445: cracklib-2.9.6-27.el9.x86_64 1628539381 251850 6b30fcc5f113bfe3977cfb728e495423 installed DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 1650890875 169790 e42efbfacf911799e5c8d24d5565a35d installed DEBUG util.py:445: kmod-libs-28-8.el9.x86_64 1679924913 133910 30648fee80c5ec9ec82e1a751b9d5c01 installed DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 1628550119 932210 bd9c51ad0c0309b273f46b629b0ac796 installed DEBUG util.py:445: avahi-libs-0.8-12.el9.x86_64 1645616995 184398 9ea38524df2bde57a5871c90c58f8457 installed DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 1628547667 116759 fc59a2fbc5993faa2c50a2fee3ca890f installed DEBUG util.py:445: libtiff-4.4.0-7.el9.x86_64 1672760726 582177 88a11d956e675b348ebe6fa9113a64f1 installed DEBUG util.py:445: libXau-1.0.9-8.el9.x86_64 1628554479 64960 d29cb4a4741cc1c0d0676dbae6e78998 installed DEBUG util.py:445: libxcb-1.13.1-9.el9.x86_64 1628554525 1124254 51f3f8fe3db81337ba4a07430421c3ee installed DEBUG util.py:445: libX11-1.7.0-7.el9.x86_64 1628554506 1356308 a5fbb578bfa9f39ee872335285a8e95a installed DEBUG util.py:445: libXext-1.3.4-8.el9.x86_64 1628554624 95724 36ef108c2804669f53bf41f5d7a12d3c installed DEBUG util.py:445: libXrender-0.9.10-16.el9.x86_64 1628554702 51543 1238322e38dd9b9aa5cce9a9d3ac8458 installed DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 1628554623 35681 06ff23960463555e5f8af61d13f71a2f installed DEBUG util.py:445: libXi-1.7.10-8.el9.x86_64 1628554634 74757 bd2b6b3e709f17777a5d0e2097366c43 installed DEBUG util.py:445: libXt-1.2.0-6.el9.x86_64 1628554747 453249 e7a4f272de4504efd24ddb90b533cf5b installed DEBUG util.py:445: libXmu-1.1.3-8.el9.x86_64 1628554669 188562 5879579377fd4468c1927636debd938c installed DEBUG util.py:445: libXcursor-1.2.0-7.el9.x86_64 1628554551 50861 7a058c13f6a9927cf4f6394049026de7 installed DEBUG util.py:445: libXdamage-1.1.5-7.el9.x86_64 1628554609 37259 119e8aef392b8008b8046e3ecc9dccab installed DEBUG util.py:445: libXrandr-1.5.2-8.el9.x86_64 1628554694 53332 2864163841b9f9634b602a32e0120853 installed DEBUG util.py:445: libXinerama-1.1.4-10.el9.x86_64 1628554595 19725 a29c4891e6ef396577c08db8c5a28ab5 installed DEBUG util.py:445: libXcomposite-0.4.5-7.el9.x86_64 1628554506 42445 4ff5ce3944de9ac0736fd23fefd642f8 installed DEBUG util.py:445: libXpm-3.5.13-8.el9.x86_64 1674191661 128512 ba525fc5e8890169ce632f900372dbb7 installed DEBUG util.py:445: libglvnd-1:1.3.4-1.el9.x86_64 1637623169 797162 6caa4083900d93e621a90c9f55312fd1 installed DEBUG util.py:445: libwayland-egl-1.21.0-1.el9.x86_64 1667401001 16466 6491c616c2a85a6da68cf36b154d74f9 installed DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 1628561143 363598 40da76c2d6ce4525c03c2037784abb72 installed DEBUG util.py:445: pixman-0.40.0-5.el9.x86_64 1628566025 711391 47036ca0ea26e117eb9d0acb5092974e installed DEBUG util.py:445: libXaw-1.0.13-19.el9.x86_64 1628554542 510031 51fb88af4c8549b837fa52cf7348b1e4 installed DEBUG util.py:445: libXtst-1.2.3-16.el9.x86_64 1628554736 38680 28b0e6a42eb89fea8382dc1046a6e85b installed DEBUG util.py:445: libXv-1.0.11-16.el9.x86_64 1628554734 26929 72198c80e9062f01f7c8b6a56d1511d0 installed DEBUG util.py:445: libXxf86vm-1.1.4-18.el9.x86_64 1628554796 26316 9d5c88dac190e4f66857b2fab49ea44e installed DEBUG util.py:445: cracklib-dicts-2.9.6-27.el9.x86_64 1628539381 9815154 097793bbff0b03b3ce0e2afaf462bbf5 installed DEBUG util.py:445: util-linux-core-2.37.4-10.el9.x86_64 1675782974 1262695 0fd0b7e392245584d437a02cdfb45359 installed DEBUG util.py:445: procps-ng-3.3.17-11.el9.x86_64 1674898524 999139 1e7bf4554849a0d149ec9a838380ede8 installed DEBUG util.py:445: p11-kit-server-0.24.1-2.el9.x86_64 1643726763 1034065 2c357756d749970a00d759f4ed11a596 installed DEBUG util.py:445: python3-pip-wheel-21.2.3-6.el9.noarch 1643979462 1220550 07b060384d9915de4565b545b806a3e0 installed DEBUG util.py:445: python-unversioned-command-3.9.16-1.el9.noarch 1670848386 23 f6f55b1cde3f504dc89f8499ce40331d installed DEBUG util.py:445: python3-3.9.16-1.el9.x86_64 1670848365 32632 c7471c525d93fccff8a1d538e594473f installed DEBUG util.py:445: python3-libs-3.9.16-1.el9.x86_64 1670848365 32456996 0dea8ad422185320a00e8c1d8fd77d30 installed DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch 1633534144 4796650 cba8c282a0121989182f2bd1f63f4099 installed DEBUG util.py:445: python3-idna-2.10-7.el9.noarch 1645461951 469965 d8aa542c3eea7de80b89295aa2e39992 installed DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch 1645014051 106876 ddb649ce7f23e052677037e6a3f1c03a installed DEBUG util.py:445: python3-greenlet-1.1.2-3.el9.x86_64 1655479423 386287 66af540958b40ecf5162ec0b1888dfff installed DEBUG util.py:445: python3-libselinux-3.5-1.el9.x86_64 1677167763 622519 17a4183a381e49fd56ffa4c464943b79 installed DEBUG util.py:445: python3-setools-4.4.1-1.el9.x86_64 1675794923 2339126 177a901897c2f087a95bdc7c0e134af9 installed DEBUG util.py:445: python3-pip-21.2.3-6.el9.noarch 1643979462 9093372 99b706e0055e40ee289346faaf15bee3 installed DEBUG util.py:445: crypto-policies-scripts-20221215-1.git9a18988.el9.noarch 1671105139 230804 a04a3941e15b1ccaf41d2b74b9d9626d installed DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch 1645457887 1480116 7bf874734ba3c74bafc1b7d88a30d5bc installed DEBUG util.py:445: python3-dns-2.2.1-2.el9.noarch 1673291988 1632172 7027fdbfd1d172471a85a0bc09a74b25 installed DEBUG util.py:445: python3-pyparsing-2.4.7-9.el9.noarch 1645030355 650026 cb5eba2b6cc00cd9fa89ffb3527e5dc3 installed DEBUG util.py:445: python3-packaging-20.9-5.el9.noarch 1644942056 254019 1278d05af2b02528944bef7b199b356c installed DEBUG util.py:445: python3-pysocks-1.7.1-12.el9.noarch 1645030777 90512 e685632709558359a9a8dd9f087a6dba installed DEBUG util.py:445: python3-urllib3-1.26.5-3.el9.noarch 1644945105 745408 9b88b9b8ee683d4cde37965646283e55 installed DEBUG util.py:445: python3-requests-2.25.1-6.el9.noarch 1644945124 398764 5af6c54f2e42392c890534097341ed17 installed DEBUG util.py:445: python3-audit-3.0.7-103.el9.x86_64 1651662838 344725 bbfa6b415671ea46a1d67a30dbfac3f6 installed DEBUG util.py:445: python3-pytz-2021.1-4.el9.noarch 1628567821 180345 d5f76df74f532c095cc683cbcaabb4bb installed DEBUG util.py:445: python3-babel-2.9.1-2.el9.noarch 1628537498 28258458 7afe89f1e820f27155449468f908596e installed DEBUG util.py:445: python3-tomli-2.0.1-5.el9.noarch 1678873507 68777 23a7daa8bc9a0b429b38a928fe6de505 installed DEBUG util.py:445: python3-docutils-0.16-6.el9.noarch 1628567136 6219958 444c8a45743579bfd963f306274d8903 installed DEBUG util.py:445: python3-imagesize-1.2.0-6.el9.noarch 1628567186 22802 d39da8dc61e5ab41826837915a72cad8 installed DEBUG util.py:445: python3-pygments-2.7.4-4.el9.noarch 1628567572 8130001 cb702f6944ebf573a262210131a887d7 installed DEBUG util.py:445: python3-snowballstemmer-1.9.0-10.el9.noarch 1628567669 1175595 67ed16a77bea012e7ae506393454568f installed DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-13.el9.noarch 1628567719 38853 4ba706d7fa269358f11f434cc32b3c6d installed DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.2-5.el9.noarch 1628567667 62833 3b2c009918387ef7210eba186ca1806e installed DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.2-5.el9.noarch 1628567666 46533 b2e795a36aef2c55de88074414b761be installed DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-6.el9.noarch 1628567685 65376 fa4c300323f21943678c7f68e26f5838 installed DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-12.el9.noarch 1628567715 12208 947d809e58f156601d53cc6203a7590c installed DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.3-5.el9.noarch 1628567718 57306 2d6584bea4d8c410fe98524de6c1f16c installed DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.4-5.el9.noarch 1628567696 54286 8e949b872c3ec55e9a6db87cbc9c9731 installed DEBUG util.py:445: python3-distro-1.7.0-3.el9s.noarch 1659021558 179972 4dd7ab827728a719b849f9237839ba08 installed DEBUG util.py:445: python3-markupsafe-2.0.0-2.el9s.x86_64 1631288847 50131 b89bd9ed92049224e6f546869798d48b installed DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch 1631290225 2924051 b6ff5fd468f8b5a0c72e414a67ca863b installed DEBUG util.py:445: openssl-1:3.0.7-6.el9.x86_64 1678275876 1894027 9de6c1ce0c4e987db783e9018a9a5159 installed DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch 1628570710 471450 e6f7781c74c99fcbcf41d1a012108db5 installed DEBUG util.py:445: kmod-28-8.el9.x86_64 1679924913 253897 7be181a7665af4f7ead5435b883b6c82 installed DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 1654006189 685923 7a3a1c534311e848d76428a6daddd7c0 installed DEBUG util.py:445: openexr-libs-3.1.1-2.el9.x86_64 1629723895 4888212 c2ed9491a52822cec9922cb40937581b installed DEBUG util.py:445: iso-codes-4.6.0-3.el9.noarch 1628547387 19591019 f6ef364699f9b8f3bffb69d3c0d67b34 installed DEBUG util.py:445: zip-3.0-35.el9.x86_64 1676457149 741159 07aa037eb9408f2f848569827cd3559f installed DEBUG util.py:445: cpp-11.3.1-4.4.el9.x86_64 1680124258 30267003 4d1002c1eb1cd0b57c13fae1fb981dfc installed DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 1628554085 59409 ce999580e2b5f894fc54fe1b4bd09850 installed DEBUG util.py:445: bubblewrap-0.4.1-6.el9.x86_64 1628538098 104329 78a041d7986e2a0121d1fd8e4480490c installed DEBUG util.py:445: libselinux-utils-3.5-1.el9.x86_64 1677167763 399692 7ca3a7740eb1223ed5f62049ca7f9715 installed DEBUG util.py:445: tar-2:1.34-6.el9.x86_64 1676281551 3155323 ee74705ec23ecf11c541e27087fe9605 installed DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 1644329495 1902844 f4364d644ad25c519c98b0f0cbc66ffa installed DEBUG util.py:445: acl-2.3.1-3.el9.x86_64 1628536886 214167 da415e00d38ca94a7bb942304c03c007 installed DEBUG util.py:445: nss-softokn-freebl-3.79.0-18.el9.x86_64 1679503533 783820 64b224dc03290b003ffab41512b31a2f installed DEBUG util.py:445: nss-softokn-3.79.0-18.el9.x86_64 1679503533 1292714 880c19572a5378a209e7bb00e9158988 installed DEBUG util.py:445: nss-sysinit-3.79.0-18.el9.x86_64 1679503533 18174 145ed9314ecdec9543447aaaaf5add07 installed DEBUG util.py:445: nss-3.79.0-18.el9.x86_64 1679503533 1927098 1b2f3d1607b8b697e2e1da3c1787779d installed DEBUG util.py:445: flac-libs-1.3.3-10.el9.x86_64 1651745464 567660 575b868f69bf17f83ccb5cb6cc992929 installed DEBUG util.py:445: libtheora-1:1.1.1-31.el9.x86_64 1628553380 474222 b8127b03ee1f999ef62271ee2b4be850 installed DEBUG util.py:445: fftw-libs-double-3.3.8-12.el9.x86_64 1628541329 2773098 e5b26837f1a2e1cf59310b3a5ca6916b installed DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 1675793165 394494 5065a1b60987a5ea1b35f943fde57a74 installed DEBUG util.py:445: dwz-0.14-3.el9.x86_64 1628540256 281758 f72e5de5cbebad4a19641f7e9c312c6d installed DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 1628547517 333940 a8cabff1260ab3da238161ae0bdbe1e1 installed DEBUG util.py:445: LibRaw-0.20.2-6.el9.x86_64 1680569310 2344798 4e0a83f8a481feec6839b3af7915b8dd installed DEBUG util.py:445: exempi-2.6.0-0.2.20211007gite23c213.el9.x86_64 1635927371 1412953 d1d6378d392aaebf8f8e69d797903cff installed DEBUG util.py:445: bzip2-1.0.8-8.el9.x86_64 1628538275 96056 29c071c14d1a84942ced326f572bf7e3 installed DEBUG util.py:445: libxkbcommon-1.0.3-4.el9.x86_64 1628554663 324826 5f75063e425d48b3397b4217aff67fde installed DEBUG util.py:445: libxslt-1.1.34-9.el9.x86_64 1643365783 771951 46a009419c084efc76903456f720cc95 installed DEBUG util.py:445: graphite2-1.3.14-9.el9.x86_64 1628545340 201583 bee1c7d7f006f520847ff1f5b9f768e6 installed DEBUG util.py:445: webrtc-audio-processing-0.3.1-8.el9.x86_64 1628574725 751654 f187c6b50c3612d6252e43eabf48abfd installed DEBUG util.py:445: info-6.7-15.el9.x86_64 1645432912 508035 4d0af4faf66f30b8126abd3410cdd719 installed DEBUG util.py:445: ed-1.14.2-12.el9.x86_64 1628540213 129923 038028fe8dfd324b820e16200786a15e installed DEBUG util.py:445: patch-2.7.6-16.el9.x86_64 1628561618 265522 4efdeefb054a89e177b517c3d3ed1147 installed DEBUG util.py:445: tcl-1:8.6.10-7.el9.x86_64 1658238252 4293857 da5918f824202c2c31ac98ce426f1848 installed DEBUG util.py:445: libfontenc-1.1.3-17.el9.x86_64 1628550261 64225 931267996fd577695291cbc512f16582 installed DEBUG util.py:445: systemd-rpm-macros-252-8.el9.noarch 1677516088 9213 53c2b519dab77436b5b54f9cf636b4f1 installed DEBUG util.py:445: adwaita-icon-theme-40.1.1-3.el9.noarch 1637316977 11533842 f148596fcfc2b39ba256f2a5e7bc6a19 installed DEBUG util.py:445: libpaper-1.1.28-4.el9.x86_64 1628552165 96772 5cac748655ed7916695475b9b0be51b8 installed DEBUG util.py:445: ncurses-6.2-8.20210508.el9.x86_64 1628558261 629348 a95c6d87081b921e93d36d21e9f23159 installed DEBUG util.py:445: perl-Digest-1.19-4.el9.noarch 1628563396 36844 556e6f718ba9a6360fa39fb18d536aa0 installed DEBUG util.py:445: perl-Digest-MD5-2.58-4.el9.x86_64 1628563473 61522 2300fd882680ee0c7c1abb1ae6b8ccb4 installed DEBUG util.py:445: perl-B-0:1.80-480.el9.x86_64 1674054498 504439 e67a3a23286d02b04eb5f0c55b8b71f3 installed DEBUG util.py:445: perl-FileHandle-0:2.03-480.el9.noarch 1674054512 10530 e318f9be66151c7755b3d52bb698e946 installed DEBUG util.py:445: perl-AutoLoader-0:5.74-480.el9.noarch 1674054512 22037 935b95f094e66e82e9476457dd725a1c installed DEBUG util.py:445: perl-Data-Dumper-2.174-462.el9.x86_64 1628562913 111869 7ecb1b2e3a41395091b00413afff991d installed DEBUG util.py:445: perl-libnet-3.13-4.el9.noarch 1628564496 299357 3a4d318a43520c1ea611000b968a597c installed DEBUG util.py:445: perl-base-0:2.27-480.el9.noarch 1674054512 13819 bd11435720c6d8dd981626e9dff16d46 installed DEBUG util.py:445: perl-URI-5.09-3.el9.noarch 1628565665 216915 b03fb11680933808dbfa5ed1bc6be6cf installed DEBUG util.py:445: perl-Net-SSLeay-1.92-2.el9.x86_64 1658929034 1398888 54f510931f506aefde25a6dbd2022632 installed DEBUG util.py:445: perl-if-0:0.60.800-480.el9.noarch 1674054512 6874 14036006effb226349c6093d3934b27d installed DEBUG util.py:445: perl-IO-Socket-IP-0.41-5.el9.noarch 1628564340 100240 fc6b5e9831a4bbafe3036ad6c07bd0cd installed DEBUG util.py:445: perl-Time-Local-2:1.300-7.el9.noarch 1628565569 67344 56255d762b27e3f619c7ef093df999a5 installed DEBUG util.py:445: perl-File-Path-2.18-4.el9.noarch 1628563880 65333 e84dcd48672e858db99bf4abb31adefd installed DEBUG util.py:445: perl-IO-Socket-SSL-2.073-1.el9.noarch 1641306371 616297 0cb4da597b9cff56a27d081936fdbbe9 installed DEBUG util.py:445: perl-Pod-Escapes-1:1.07-460.el9.noarch 1628565069 25764 977f680f4ab8e6be26696f8e005328be installed DEBUG util.py:445: perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch 1629764707 24828 4ddd39d2645c0d3a03a7fc505a69d03f installed DEBUG util.py:445: perl-Mozilla-CA-20200520-6.el9.noarch 1628564841 5866 f3ba115f552765dda50122093731bdae installed DEBUG util.py:445: perl-Class-Struct-0:0.66-480.el9.noarch 1674054512 26953 a690446eacfa8c5e0898bbdf23ddfdbf installed DEBUG util.py:445: perl-POSIX-0:1.94-480.el9.x86_64 1674054498 240027 548883dd494c9f1d8ab776635e77e033 installed DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch 1628565314 100303 0bdc632c00af8ea7fccf10c3a8aeb385 installed DEBUG util.py:445: perl-IPC-Open3-0:1.21-480.el9.noarch 1674054512 25045 1e2e8d7d6995511b502864a9f35ced24 installed DEBUG util.py:445: perl-subs-0:1.03-480.el9.noarch 1674054512 3061 0e47d7fa47b056206d15d89c51f15626 installed DEBUG util.py:445: perl-File-Temp-1:0.231.100-4.el9.noarch 1628563998 166550 668718b957c97d218cd0ce87b6d3e36d installed DEBUG util.py:445: perl-Term-Cap-1.17-460.el9.noarch 1628565308 29851 df13642162893be1ec21d401f866b7f7 installed DEBUG util.py:445: perl-Pod-Simple-1:3.42-4.el9.noarch 1628565108 577293 051f5b7ae5eb9bcca2b122291f9bd378 installed DEBUG util.py:445: perl-HTTP-Tiny-0.076-460.el9.noarch 1628564212 150122 cf5e032fdc14890764f4d8508320c17c installed DEBUG util.py:445: perl-Socket-4:2.031-4.el9.x86_64 1628565134 124969 0d5788854b6ccd115da6a227466baf78 installed DEBUG util.py:445: perl-SelectSaver-0:1.02-480.el9.noarch 1674054512 3171 13ff9d68e38894d344bef6ad50fad18b installed DEBUG util.py:445: perl-Symbol-0:1.08-480.el9.noarch 1674054512 7847 d30006b6d162c1cd508a910bf4b780b9 installed DEBUG util.py:445: perl-File-stat-0:1.09-480.el9.noarch 1674054512 13949 9b120a7ce0d0e351655c237bced524d5 installed DEBUG util.py:445: perl-podlators-1:4.14-460.el9.noarch 1628565077 288742 ad2f3ada468688fbe129418e39eaac37 installed DEBUG util.py:445: perl-Pod-Perldoc-3.28.01-461.el9.noarch 1628565124 170960 7e2f1a7c0900c86834fc555f5c3bd0b9 installed DEBUG util.py:445: perl-Fcntl-0:1.13-480.el9.x86_64 1674054498 30124 f2321cfcd64a6a348a56780c793ca78c installed DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch 1628565448 13101 51cd796a12a1506353fefddcf48ede0a installed DEBUG util.py:445: perl-mro-0:1.23-480.el9.x86_64 1674054498 43475 d2315dd309886a998b198752aad33cd1 installed DEBUG util.py:445: perl-IO-0:1.43-480.el9.x86_64 1674054498 163130 1c226277e9088ea4b42bdcf5ba5f2144 installed DEBUG util.py:445: perl-overloading-0:0.02-480.el9.noarch 1674054512 5893 c665f20f931c0f761b75721cb06c54b0 installed DEBUG util.py:445: perl-Pod-Usage-4:2.01-4.el9.noarch 1628565107 87186 cf143f7c6da00856ecd8ce53db1b388f installed DEBUG util.py:445: perl-Errno-0:1.30-480.el9.x86_64 1674054498 9519 e98c726f9d639c80f1a92be905ba7c93 installed DEBUG util.py:445: perl-File-Basename-0:2.85-480.el9.noarch 1674054512 15339 e509c976eb109fd841418a1dd1f9fa38 installed DEBUG util.py:445: perl-Getopt-Std-0:1.12-480.el9.noarch 1674054512 12107 85aac02dda4b45bb4c1bbedbb663f998 installed DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 1628564750 48145 1190c3bd08b43b3064f439bca71ca347 installed DEBUG util.py:445: perl-Scalar-List-Utils-4:1.56-461.el9.x86_64 1628565132 143652 fdb542613487fef027425c1c87b4514c installed DEBUG util.py:445: perl-constant-1.33-461.el9.noarch 1628562746 27104 ee5c312a7c1613a45b24c022d97fb08e installed DEBUG util.py:445: perl-Storable-1:3.21-460.el9.x86_64 1628565166 228532 119c254a858a4e8225a8f4f1b95a6fc8 installed DEBUG util.py:445: perl-overload-0:1.31-480.el9.noarch 1674054512 72822 96c405af60b5a9f737e5e67d4265c5fb installed DEBUG util.py:445: perl-parent-1:0.238-460.el9.noarch 1628565026 9535 a35e48b4559776d182fedbd2b93f0867 installed DEBUG util.py:445: perl-vars-0:1.05-480.el9.noarch 1674054512 4926 6b9c7e99fc256465d0602b60e23a768e installed DEBUG util.py:445: perl-Getopt-Long-1:2.52-4.el9.noarch 1628564041 139937 0084d602dd5f3a3a608b8aa2d7d2784a installed DEBUG util.py:445: perl-Carp-1.50-460.el9.noarch 1628562498 47889 8aa3a6891f26697353b428ce0a184f8d installed DEBUG util.py:445: perl-Exporter-5.74-461.el9.noarch 1628563640 55359 600faf3d3db9096efa1de68bfe07d62d installed DEBUG util.py:445: perl-NDBM_File-0:1.15-480.el9.x86_64 1674054498 29968 f8204bae5d8a0c3d54d5deabd03e379b installed DEBUG util.py:445: perl-PathTools-3.78-461.el9.x86_64 1628565073 182534 367a2f6e64401c56f25dc4559c5806f6 installed DEBUG util.py:445: perl-Encode-4:3.08-462.el9.x86_64 1628580079 10235418 464fc08748c13d9698ad06bba18ae510 installed DEBUG util.py:445: perl-libs-4:5.32.1-480.el9.x86_64 1674054498 8953644 83ba3f12e9abe5cc2f3b12db9751eb32 installed DEBUG util.py:445: perl-interpreter-4:5.32.1-480.el9.x86_64 1674054498 120085 c82e40c14152c39204cbcb937ea57975 installed DEBUG util.py:445: kernel-srpm-macros-1.0-12.el9.noarch 1675877081 16918 049309e67c9ae1aca8bac1994e90a0a0 installed DEBUG util.py:445: bluez-libs-5.56-6.el9.x86_64 1628537753 215704 a45c3fa7ebe4bb2255e74570c64e7348 installed DEBUG util.py:445: cpio-2.13-16.el9.x86_64 1631604799 1088156 8743fccbe23852587a7ef16a73f19f85 installed DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 1666019242 55267 3c9b8438c14c5b6dd89db849f2233459 installed DEBUG util.py:445: libatomic-11.3.1-4.4.el9.x86_64 1680124258 29242 275d8251d52689f4a6c7230e28372a43 installed DEBUG util.py:445: libcbor-0.7.0-5.el9.x86_64 1628549688 99993 595519f7b2452af7db9b5062131acaa3 installed DEBUG util.py:445: libdb-5.3.28-53.el9.x86_64 1637775488 1898038 86c8deb590fc9b3c916ca8d696a184bd installed DEBUG util.py:445: libeconf-0.4.1-2.el9.x86_64 1628549934 46347 e5330660eca48aabd4fe49c09be7fc8c installed DEBUG util.py:445: libpwquality-1.4.4-8.el9.x86_64 1628552427 416376 0b62322fb735de082781bbefe37e1e6e installed DEBUG util.py:445: pam-1.5.1-14.el9.x86_64 1669724753 1898193 c87aa3be7ffa3f289defca370980b41f installed DEBUG util.py:445: util-linux-2.37.4-10.el9.x86_64 1675782974 11138375 647e6a6ed1d032da65f92ffa78790d4d installed DEBUG util.py:445: dbus-1:1.12.20-7.el9.x86_64 1666132722 0 d9fbe0fe340e09264ae1509de0b773b0 installed DEBUG util.py:445: systemd-pam-252-8.el9.x86_64 1677516061 518347 bbbfa08464fe66506a2e453beac7213b installed DEBUG util.py:445: systemd-252-8.el9.x86_64 1677516061 12562098 6bb3256569f13f1c2cee20fd3a3d62f8 installed DEBUG util.py:445: dbus-common-1:1.12.20-7.el9.noarch 1666132733 11394 e54b0452491526a74c88cdd2d4c882e7 installed DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 1661245845 393994 e8c79633cf67b370e4698605d1acc8f4 installed DEBUG util.py:445: device-mapper-libs-9:1.02.187-7.el9.x86_64 1676557276 429065 e95ae0b9e027180f5eb310ed2288d245 installed DEBUG util.py:445: device-mapper-9:1.02.187-7.el9.x86_64 1676557276 360398 f1c5967c5dfb50b74e64ebb0abbc8633 installed DEBUG util.py:445: cryptsetup-libs-2.6.0-2.el9.x86_64 1671039480 2055300 0407704a591d9a5e971011c7bc2146d3 installed DEBUG util.py:445: elfutils-default-yama-scope-0.188-3.el9.noarch 1667840848 1810 335b6f5892412802c8a47cc02b47b983 installed DEBUG util.py:445: elfutils-libs-0.188-3.el9.x86_64 1667840837 685085 2ee81aa2b6a0eb92fd616530df9d78d4 installed DEBUG util.py:445: openssh-8.7p1-28.el9.x86_64 1673877955 1960774 bd5e7d5cff97adbc44f791d3a6be2715 installed DEBUG util.py:445: kbd-2.4.0-8.el9.x86_64 1642497851 1579829 817d5fcc138c0777f2c6580ef4022f66 installed DEBUG util.py:445: libnghttp2-1.43.0-5.el9.x86_64 1628558693 170924 55380ca0b30dba1165162e8af1263a42 installed DEBUG util.py:445: libpciaccess-0.16-6.el9.x86_64 1628552183 49971 9fc4d900b9f966d18433f7b6555bd65c installed DEBUG util.py:445: libdrm-2.4.114-1.el9.x86_64 1668048927 408847 20298b827934af876814154af757c994 installed DEBUG util.py:445: libglvnd-glx-1:1.3.4-1.el9.x86_64 1637623169 694030 df6b17eab5aca2f17d3ec25cf90c1bd4 installed DEBUG util.py:445: mesa-libGL-22.3.0-2.el9.x86_64 1674850636 480009 d337ffde1b651de09969c08a7dde4d90 installed DEBUG util.py:445: mesa-libgbm-22.3.0-2.el9.x86_64 1674850636 66252 05c7fe82ec2ca046b215a0ee243857d4 installed DEBUG util.py:445: libglvnd-egl-1:1.3.4-1.el9.x86_64 1637623169 70708 f36fd901951072d8b6dc7b9b7b680993 installed DEBUG util.py:445: mesa-libEGL-22.3.0-2.el9.x86_64 1674850636 305887 8c3b3806acd324674744bb84c2a966db installed DEBUG util.py:445: mesa-vulkan-drivers-22.3.0-2.el9.x86_64 1674850636 34309426 e68a20bbf9ed409441f8784b33ea76f8 installed DEBUG util.py:445: vulkan-loader-1.3.239.0-1.el9.x86_64 1676436825 479804 77115ac39847c3e038d919b94e515976 installed DEBUG util.py:445: libpipeline-1.5.3-4.el9.x86_64 1628552235 115253 2851917276dada25daca70bac6dd0f93 installed DEBUG util.py:445: man-db-2.9.3-7.el9.x86_64 1663689890 2563551 91576adf2b9b8aa235dd06e962c20f57 installed DEBUG util.py:445: environment-modules-5.0.1-2.el9.x86_64 1664791865 2553161 006f9dd47ba275cde134335184e4be91 installed DEBUG util.py:445: libpkgconf-1.7.3-10.el9.x86_64 1663762953 75425 6d784dbd338488f9a990f3870ce06e48 installed DEBUG util.py:445: pkgconf-1.7.3-10.el9.x86_64 1663762953 77890 c27775732875e2aaaa07204046b2e0ae installed DEBUG util.py:445: pkgconf-pkg-config-1.7.3-10.el9.x86_64 1663762953 1203 557e5f2bf85dce295401d6e30f51eabe installed DEBUG util.py:445: libverto-0.3.2-3.el9.x86_64 1628554245 30365 49717f919565ae8f0e70dc4def4d01f6 installed DEBUG util.py:445: krb5-libs-1.20.1-8.el9.x86_64 1677085879 2182816 7e1a3716735a5ab398350bf2b709648e installed DEBUG util.py:445: cyrus-sasl-lib-2.1.27-21.el9.x86_64 1663006598 2380384 30b42ad4b265d75bc95db77acd35598e installed DEBUG util.py:445: openldap-2.6.2-3.el9.x86_64 1659738155 1078473 8b65b6b1a948190f40d6aeed853613ae installed DEBUG util.py:445: libssh-0.10.4-8.el9.x86_64 1675169915 531603 82c942a9604f76f594a0cecbe8484719 installed DEBUG util.py:445: libcurl-7.76.1-23.el9.x86_64 1676557482 663446 3babf52dbf6861582e495488a75db7a5 installed DEBUG util.py:445: elfutils-debuginfod-client-0.188-3.el9.x86_64 1667840837 61175 93ae15ec9ec66e3acfc842e5c79260a9 installed DEBUG util.py:445: elfutils-0.188-3.el9.x86_64 1667840837 2805154 bf86efd265451e3e5a9d89f3111578d1 installed DEBUG util.py:445: gdb-minimal-10.2-10.el9.x86_64 1653590947 11523566 be51916901b574d477353f9274c4ec8f installed DEBUG util.py:445: curl-7.76.1-23.el9.x86_64 1676557482 684513 0b0491d9477e08b33289947ac4b94370 installed DEBUG util.py:445: rpm-4.16.1.3-22.el9.x86_64 1671494270 2749454 0bd772b68c7fe8d4e37da87c770a82de installed DEBUG util.py:445: rpm-libs-4.16.1.3-22.el9.x86_64 1671494270 764820 9b5dba7d67b7318abb58532fd0f1eac5 installed DEBUG util.py:445: policycoreutils-3.5-1.el9.x86_64 1677171997 707764 dd0a16ac55e70d5a2ca2c635effbba7f installed DEBUG util.py:445: rpm-build-libs-4.16.1.3-22.el9.x86_64 1671494270 198430 efa90392a6ea64a48a5148ddde9c3e35 installed DEBUG util.py:445: scl-utils-1:2.0.3-4.el9.x86_64 1670942585 66501 78108e4d20af5afb9098e17511ffd96d installed DEBUG util.py:445: efi-srpm-macros-4-9.el9.noarch 1636398873 41111 76c81df74bfab13e26b32351ca37f458 installed DEBUG util.py:445: lua-srpm-macros-1-6.el9.noarch 1628555741 1314 0fdd144bbbee9bc020012ff761b15a17 installed DEBUG util.py:445: tpm2-tss-3.0.3-8.el9.x86_64 1660155797 2132541 dbefa2c805c7c46d5b1f4adcfbdb6577 installed DEBUG util.py:445: systemd-udev-252-8.el9.x86_64 1677516061 10435221 52478d261d8adac0a332622018134bfb installed DEBUG util.py:445: libfido2-1.6.0-7.el9.x86_64 1628550181 171419 9fde1b7724de2faf19875b7aecf1918a installed DEBUG util.py:445: openssh-clients-8.7p1-28.el9.x86_64 1673877955 2112253 31be013d6ded420159e275d69208be01 installed DEBUG util.py:445: git-core-2.39.1-1.el9.x86_64 1674153549 20183387 b21c97b9fe4fcddb47fa7c06145a83aa installed DEBUG util.py:445: make-1:4.3-7.el9.x86_64 1628555838 1720854 95b9f2753e1f15ebb3698767e488d304 installed DEBUG util.py:445: nettle-3.8-3.el9.x86_64 1661854912 1131998 760405e19fdb68872700730ba8a51770 installed DEBUG util.py:445: gnutls-3.7.6-20.el9.x86_64 1678801109 3286995 933727198d5e92bb6436dd5579d58786 installed DEBUG util.py:445: glib2-2.68.4-6.el9.x86_64 1670249422 13422726 a10d7128b14aed00f69a310dd1424fe7 installed DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 1654071485 840612 eb49c3e16b2281a6af4531ea392af8d5 installed DEBUG util.py:445: harfbuzz-2.7.4-8.el9.x86_64 1658150085 1705501 ffe3150cd4dc8d3063edf87420270303 installed DEBUG util.py:445: fontconfig-2.14.0-2.el9.x86_64 1670223487 837217 449ed09ac88eaeb9a30ba214b9981e87 installed DEBUG util.py:445: cairo-1.17.4-7.el9.x86_64 1645512144 1714807 9fef2bc3657f2c34016b51a532acc8d9 installed DEBUG util.py:445: json-glib-1.6.6-1.el9.x86_64 1629809706 555868 fe4576ce40b422e833b0850db1a3e07f installed DEBUG util.py:445: atk-2.36.0-5.el9.x86_64 1628537391 1304627 bd9aeb354c9610e81f272d7222808571 installed DEBUG util.py:445: cairo-gobject-1.17.4-7.el9.x86_64 1645512144 44432 9aabd9bcc00fd6431ede021358bcb4ef installed DEBUG util.py:445: polkit-libs-0.117-11.el9.x86_64 1670247243 29305061 c1dbf375e0b00a245d73ad4449522d1e installed DEBUG util.py:445: gstreamer1-1.18.4-4.el9.x86_64 1628545743 4877853 829ac190803dc107b80ea1fe85b0de9d installed DEBUG util.py:445: cups-libs-1:2.3.3op2-17.el9.x86_64 1679993403 682153 cfefa6d85ff4c53921f6dacb50cad136 installed DEBUG util.py:445: polkit-0.117-11.el9.x86_64 1670247243 441257 44f5a67ab7dab59ec5ad0ec70bc95512 installed DEBUG util.py:445: polkit-pkla-compat-0.1-21.el9.x86_64 1628566241 96325 40f2701ed3ee93b221c4dfaa0a2928d0 installed DEBUG util.py:445: gsettings-desktop-schemas-40.0-6.el9.x86_64 1671646004 4730586 8543d94d77db623126314e6728432790 installed DEBUG util.py:445: dconf-0.40.0-6.el9.x86_64 1628539769 311890 d110060115bde4f51444aa24238968ff installed DEBUG util.py:445: rtkit-0.11-28.el9.x86_64 1628569215 150098 ac74ba416453e24f6b8b209d8c2938d3 installed DEBUG util.py:445: libgxps-0.3.2-3.el9.x86_64 1628550450 197503 5d0ba1ab5bc4e31a13ee886d167b362c installed DEBUG util.py:445: gd-2.3.2-3.el9.x86_64 1628543005 422174 ff84c2c781e480e239e5c9ffd6376152 installed DEBUG util.py:445: libXft-2.3.3-8.el9.x86_64 1628554598 136020 9dd4afaf02c043020674bf5723eeec0b installed DEBUG util.py:445: poppler-21.01.0-14.el9.x86_64 1664205088 3756601 c9eb43b2e22bb3922f89a62829ad18f0 installed DEBUG util.py:445: poppler-glib-21.01.0-14.el9.x86_64 1664205088 488388 30502ab82ca33e8aada7a94655a59aef installed DEBUG util.py:445: urw-base35-bookman-fonts-20200910-6.el9.noarch 1628573895 1428570 ca19d0e098c193249d75aa2a16f84908 installed DEBUG util.py:445: urw-base35-c059-fonts-20200910-6.el9.noarch 1628573895 1460397 c7a3299906900e9634054c11a85f913a installed DEBUG util.py:445: urw-base35-d050000l-fonts-20200910-6.el9.noarch 1628573895 86625 16f0f27ee064f929f7cb3221881a5e1f installed DEBUG util.py:445: urw-base35-gothic-fonts-20200910-6.el9.noarch 1628573895 1216723 60a564c67ac16e3b356a0ac499002beb installed DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20200910-6.el9.noarch 1628573895 1099808 1f85b60ff6e6c83153019702bf850931 installed DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20200910-6.el9.noarch 1628573895 1429732 81d7a185b0ada9a5ad0383043ccf2c76 installed DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20200910-6.el9.noarch 1628573895 2505850 6e0cd8553a6ab96b007e771ad1c17185 installed DEBUG util.py:445: urw-base35-p052-fonts-20200910-6.el9.noarch 1628573895 1557220 668671e23df63172d342d3969f9572fe installed DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20200910-6.el9.noarch 1628573895 45248 fd1753c92919fdc12154dc57ab487f7b installed DEBUG util.py:445: urw-base35-z003-fonts-20200910-6.el9.noarch 1628573895 400137 0fa9d01117b873b3aad533568edfb7ec installed DEBUG util.py:445: urw-base35-fonts-20200910-6.el9.noarch 1628573895 5478 192e5af4292c7614f1255fcdd61d1504 installed DEBUG util.py:445: libraqm-0.7.0-7.el9s.x86_64 1631084139 29499 76e4839ab4d91c7f7edf02c08d2dfade installed DEBUG util.py:445: mkfontscale-1.2.1-3.el9.x86_64 1628557177 54887 e55c107f8fd4546cd9c443713362fd90 installed DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-33.el9.noarch 1628575762 1070851 7f8999a7b9556e8e40ca7b251960c077 installed DEBUG util.py:445: ModemManager-glib-1.20.2-1.el9.x86_64 1670941191 1579276 41b8135cabe1c9496d51799643c4d37e installed DEBUG util.py:445: NetworkManager-libnm-1:1.43.4-1.el9.x86_64 1679525510 9940690 62d7ded3cf0cd77a89559c186fbac27f installed DEBUG util.py:445: gobject-introspection-1.68.0-11.el9.x86_64 1667572879 936649 f0cce33f7885a16bb7162d447c255809 installed DEBUG util.py:445: libgudev-237-1.el9.x86_64 1629362707 89888 3ae2ff97534847502dc9dc6e54769e32 installed DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 1628573812 571536 4bc50b2c77c740c5ac72f1ba14729ebf installed DEBUG util.py:445: libgusb-0.3.6-3.el9.x86_64 1628550520 128801 06d7da17acd58091e5d1a5b2e4674d48 installed DEBUG util.py:445: colord-libs-1.4.5-4.el9.x86_64 1628538970 857392 efbe5add1d1c940f9f00da30ad86e1a5 installed DEBUG util.py:445: shared-mime-info-2.1-5.el9.x86_64 1667822225 5187670 2de9dfcf7c8b566ac4caef5329cac708 installed DEBUG util.py:445: gdk-pixbuf2-2.42.6-3.el9.x86_64 1667290907 2607853 b78b5a05f5611ed0bdc460cf982092c7 installed DEBUG util.py:445: gdk-pixbuf2-modules-2.42.6-3.el9.x86_64 1667290907 270137 408857ef0c525741c1c14fe0578a5ad5 installed DEBUG util.py:445: gtk-update-icon-cache-3.24.31-2.el9.x86_64 1645176383 68085 1f11d0983f3bd5d9268e80f2099c522f installed DEBUG util.py:445: libgsf-1.14.47-5.el9.x86_64 1628550426 963734 ed3526738da2d8fb971a65c9a9b8bc9f installed DEBUG util.py:445: libnotify-0.7.9-8.el9.x86_64 1640186875 101670 483ba13b155f617530adfa19b62982ff installed DEBUG util.py:445: at-spi2-core-2.40.3-1.el9.x86_64 1629746374 528135 b097546202f46405c17cbb596216eda2 installed DEBUG util.py:445: at-spi2-atk-2.38.0-4.el9.x86_64 1628537393 278826 904b1dc4ca3ce42898a0352ce0644aa5 installed DEBUG util.py:445: avahi-glib-0.8-12.el9.x86_64 1645616995 20834 a82a63078035b466dfabd5a98de8f78a installed DEBUG util.py:445: flatpak-session-helper-1.12.7-2.el9.x86_64 1656425435 216501 5361523cdcef231cb3c652691b4d04f9 installed DEBUG util.py:445: graphene-1.10.6-2.el9.x86_64 1628545303 170747 834f692ccc980e04ac0d4376b0b9163d installed DEBUG util.py:445: libgexiv2-0.12.3-1.el9.x86_64 1629745530 230299 4413aeeb0b43120fcbd40ab9212fba25 installed DEBUG util.py:445: low-memory-monitor-2.1-4.el9.x86_64 1628555427 71942 7eb6ed0aadd9fe9e6deec38bf86080bd installed DEBUG util.py:445: totem-pl-parser-3.26.6-2.el9.x86_64 1628573225 337376 3b2ae808b6f6aef6d85706bf3abb1576 installed DEBUG util.py:445: webkit2gtk3-jsc-2.38.5-1.el9.x86_64 1676498640 22318756 bed1c9f5921a1a16f71782f76ded3228 installed DEBUG util.py:445: libproxy-webkitgtk4-0.4.15-35.el9.x86_64 1629990582 33073 19ece62a63da90e07fa4f7dfe0889713 installed DEBUG util.py:445: glib-networking-2.68.3-3.el9.x86_64 1645725961 655538 a1f0e2c161d9f5a8ebf4ccd5267cbc51 installed DEBUG util.py:445: libsoup-2.72.0-8.el9.x86_64 1628553090 1261962 d37b68f550aa0fc78803737ece49a922 installed DEBUG util.py:445: geoclue2-2.6.0-7.el9.x86_64 1669833794 371262 7577fcf4f6c1c7b754eeeabd5cd16f9c installed DEBUG util.py:445: libappstream-glib-0.7.18-4.el9.x86_64 1628549325 1422262 4dd5362b3a34ef29e4091c6cfe45e6ab installed DEBUG util.py:445: osinfo-db-tools-1.10.0-1.el9.x86_64 1669836900 181588 28e89ea88f62695d9ca277507f766e19 installed DEBUG util.py:445: libosinfo-1.10.0-1.el9.x86_64 1669824782 1225572 134a8eabade143ef211f58af60aefef2 installed DEBUG util.py:445: xdg-dbus-proxy-0.1.3-1.el9.x86_64 1647904775 87288 4ccfb99c9ba5e6128721c79aefe24759 installed DEBUG util.py:445: liblqr-1-0.4.2-17.el9s.x86_64 1631870165 99520 eab4072ca3cfa6060e0072403aaad1b7 installed DEBUG util.py:445: npth-1.6-8.el9.x86_64 1628558844 50619 ec2f6c8c45b97d50a2d00f1c3ae9f17b installed DEBUG util.py:445: gnupg2-2.3.3-2.el9.x86_64 1659973598 9227365 f8cd32ac5df51f137de06c383af57276 installed DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 1645124220 576065 ecb8fc57f018677395265e37b7603b3c installed DEBUG util.py:445: ostree-libs-2022.6-3.el9.x86_64 1676556107 1114886 860b46ea35fb790e0e7d5aa21514ea8c installed DEBUG util.py:445: which-2.21-29.el9.x86_64 1679928490 81813 9f0d5c6f27dad58821bbd23f4fb6ec18 installed DEBUG util.py:445: fuse-2.9.9-15.el9.x86_64 1642007651 220513 23b79e360ea3a257150b475322b2408e installed DEBUG util.py:445: checkpolicy-3.5-1.el9.x86_64 1677171989 1513288 2783feaa52b4ad7904c867782a241663 installed DEBUG util.py:445: python3-policycoreutils-3.5-1.el9.noarch 1677172001 5690151 7a32e4e328489b943fa0fa260d21176c installed DEBUG util.py:445: policycoreutils-python-utils-3.5-1.el9.noarch 1677172001 119472 f3252b7c61f478157241fc31832d355d installed DEBUG util.py:445: gcc-toolset-12-runtime-12.0-5.el9.x86_64 1656530360 3652 5ffc7e18347dae16e8228906fb8ca56c installed DEBUG util.py:445: gcc-toolset-12-binutils-2.38-16.el9.x86_64 1656674752 25406513 3f600a398900e58fab97dd894f08cd62 installed DEBUG util.py:445: binutils-2.35.2-39.el9.x86_64 1678353776 25187752 cc62a787b14c8863ae136633a6be47af installed DEBUG util.py:445: fdk-aac-free-2.0.0-8.el9.x86_64 1628541105 602256 043bd67da6af245f437c39bc99ab7810 installed DEBUG util.py:445: giflib-5.2.1-9.el9.x86_64 1628543406 108576 9aa6dc5454f0eddcdf84a82dadd4e77c installed DEBUG util.py:445: libxcrypt-devel-4.4.18-3.el9.x86_64 1628554484 31019 a63fe88a62be81dd45e3204f4612b177 installed DEBUG util.py:445: gcc-11.3.1-4.4.el9.x86_64 1680124258 89051835 35080d85c0949adaa7e42d26dc88d182 installed DEBUG util.py:445: annobin-11.13-1.el9.x86_64 1678298861 1086836 0c6f2b9e8e0a8743369f3f7d3cb66c90 installed DEBUG util.py:445: gcc-plugin-annobin-11.3.1-4.4.el9.x86_64 1680124258 53570 7a707c997749fc11eb226eb528794e8d installed DEBUG util.py:445: fonts-srpm-macros-1:2.0.5-7.el9.1.noarch 1631794425 56503 0be1ca4f9f113419a2dd328e5a5e5fef installed DEBUG util.py:445: go-srpm-macros-3.0.9-9.el9.noarch 1642696988 60082 b429205e06f88ff81e06e5ab2c1243b4 installed DEBUG util.py:445: python-srpm-macros-3.9-52.el9.noarch 1644947076 37100 640418a9fe1cbdeaea0d1fdaf812ecd6 installed DEBUG util.py:445: redhat-rpm-config-199-1.el9.noarch 1676922725 191180 01e49ae304e243f991680655110bcff3 installed DEBUG util.py:445: python-rpm-macros-3.9-52.el9.noarch 1644947076 13755 215e9732a0fff0e9f0f28f51d1c88850 installed DEBUG util.py:445: python3-rpm-macros-3.9-52.el9.noarch 1644947076 5634 f4f1bf0cbdce32f3612214ea3ec99014 installed DEBUG util.py:445: python3-rpm-generators-12-8.el9.noarch 1643798069 78521 307ce42f24736b4d124db61017f90f7b installed DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 1628545513 65995 49de30fbb92514fa46c4d910eaf234dd installed DEBUG util.py:445: libsndfile-1.0.31-7.el9.x86_64 1641984131 534976 f133ab01f7891758dc1feaa3342216a4 installed DEBUG util.py:445: jbig2dec-libs-0.19-7.el9.x86_64 1675090429 168059 be161807a56e90dcc214469ff6aa7b2e installed DEBUG util.py:445: libasyncns-0.8-22.el9.x86_64 1628549467 60822 fb0ec56fa9b86539768d634afb584e03 installed DEBUG util.py:445: pulseaudio-libs-15.0-2.el9.x86_64 1628566754 3384853 2345377a8e0a0493c3d94d76766d2d09 installed DEBUG util.py:445: libcanberra-0.30-26.el9.x86_64 1628549598 289583 83e1068b09bf7823174e94031caf21de installed DEBUG util.py:445: pulseaudio-utils-15.0-2.el9.x86_64 1628566754 203447 56133de36cf1ae205a1485b82792a260 installed DEBUG util.py:445: libdatrie-0.2.13-4.el9.x86_64 1628549831 59521 99d5d94690935edf76557d007558e477 installed DEBUG util.py:445: libthai-0.1.28-8.el9.x86_64 1628553338 778570 de49304efecef4042eac62582830f479 installed DEBUG util.py:445: pango-1.48.7-3.el9.x86_64 1667448668 899563 cd97a559ad2aacfe754b19f2c3868cd3 installed DEBUG util.py:445: librsvg2-2.50.7-1.el9.x86_64 1629798664 11089891 43f8d98c429d662ac73411365923c81c installed DEBUG util.py:445: libepoxy-1.5.5-4.el9.x86_64 1628549922 1297595 33eff1eb283c34cede4b07749aa151b0 installed DEBUG util.py:445: libexif-0.6.22-6.el9.x86_64 1628550088 2461952 b3d08759fe45d4298b7354a3166d9fdc installed DEBUG util.py:445: libijs-0.35-15.el9.x86_64 1628550542 67428 73f5011374f112b59200d905aca8656c installed DEBUG util.py:445: libgs-9.54.0-9.el9.x86_64 1675362559 19642193 9a3b9c3c3fd5bc8f4af05f6348dad468 installed DEBUG util.py:445: libiptcdata-1.0.5-9.el9.x86_64 1628550674 176693 4bede834b27c949d977efc09d1eed5c1 installed DEBUG util.py:445: libldac-2.0.2.3-10.el9.x86_64 1628551275 80669 eca9c29213c4265693172cb13dc648e4 installed DEBUG util.py:445: libsbc-1.4-9.el9.x86_64 1628569554 83034 5976df1103874c4002c033f63482aafb installed DEBUG util.py:445: wireplumber-libs-0.4.8-1.el9.x86_64 1645610784 1185333 cb62affb3dc9b2686b861e0dc934aede installed DEBUG util.py:445: pipewire-libs-0.3.47-2.el9.x86_64 1646989441 6617504 1ada8ff3dfbfad891f5bb676bd501e21 installed DEBUG util.py:445: wireplumber-0.4.8-1.el9.x86_64 1645610784 261009 2ebc10330600333a76e2fbf1d5ea840c installed DEBUG util.py:445: pipewire-0.3.47-2.el9.x86_64 1646989441 75677 3e2be44db2e3aa0ad69ea5c16d95fac6 installed DEBUG util.py:445: flatpak-1.12.7-2.el9.x86_64 1656425435 8059011 28e3ff13af2e610d7920d9fcda75236c installed DEBUG util.py:445: xdg-desktop-portal-1.12.4-1.el9.x86_64 1650917654 1877780 35a97e9875952e3a3f0c2be23a15b797 installed DEBUG util.py:445: libvisual-1:0.4.0-34.el9.x86_64 1628554307 433002 1f085d5300970df55460b821a84a4e4b installed DEBUG util.py:445: libwmf-lite-0.2.12-10.el9.x86_64 1660550784 166926 6ecf8fe1504b57b8470021806def9a65 installed DEBUG util.py:445: orc-0.4.31-6.el9.x86_64 1628561059 616782 496116bd6d31284af92b9b4832691b36 installed DEBUG util.py:445: gstreamer1-plugins-base-1.18.4-5.el9.x86_64 1642177645 7127655 cf69139bf717381186cf2a797efc9b32 installed DEBUG util.py:445: libtracker-sparql-3.1.2-3.el9.x86_64 1669159640 1040603 3cbb511732834507639c35c594154df7 installed DEBUG util.py:445: tracker-3.1.2-3.el9.x86_64 1669159640 2060361 44050518b1c9c07c379b0d75d9c31c58 installed DEBUG util.py:445: tracker-miners-3.1.2-3.el9.x86_64 1669157276 4189167 9297b4ab5b5c3269b2213eda0ac0c5f1 installed DEBUG util.py:445: libcanberra-gtk3-0.30-26.el9.x86_64 1628549598 76770 28e66ef5f958716794f5a4f52de96517 installed DEBUG util.py:445: gtk3-3.24.31-2.el9.x86_64 1645176383 20576337 315712dc47924340f9a1927854e932e0 installed DEBUG util.py:445: xdg-desktop-portal-gtk-1.12.0-3.el9.x86_64 1651780145 489960 efd56fe254ac29c6933a7290c5974090 installed DEBUG util.py:445: gtk2-2.24.33-8.el9.x86_64 1667881305 13889880 d6fa1c321a87fe437f55e5399991de8a installed DEBUG util.py:445: libcanberra-gtk2-0.30-26.el9.x86_64 1628549598 55549 24931752407d0c40e210eeee196774c6 installed DEBUG util.py:445: graphviz-2.44.0-25.el9.x86_64 1642690448 12266792 1330e41bbe655a0aae8a01bf4bc08e15 installed DEBUG util.py:445: ImageMagick-libs-0:6.9.11.27-7.el9s.x86_64 1631872761 8621229 ec83640924a4ca36c8f852da8051d98b installed DEBUG util.py:445: ImageMagick-0:6.9.11.27-7.el9s.x86_64 1631872761 660374 5e58d512b32f99b85a6ed0f67f0dd3ea installed DEBUG util.py:445: python3-sphinx-1:3.4.3-7.el9.noarch 1633711700 10063904 9c61a8f6dfb5dfd65075d1bf76cbf6e6 installed DEBUG util.py:445: pipewire-alsa-0.3.47-2.el9.x86_64 1646989441 158448 a8f3a2775dabe9a915957b32e7e4181f installed DEBUG util.py:445: pipewire-jack-audio-connection-kit-0.3.47-2.el9.x86_64 1646989441 517685 ea775eb5fbbb3d605158ccd874305e92 installed DEBUG util.py:445: pipewire-pulseaudio-0.3.47-2.el9.x86_64 1646989441 23078 f141f5159111be9b31fc44e514c48810 installed DEBUG util.py:445: python3-devel-3.9.16-1.el9.x86_64 1670848365 787865 bbc25716d39e455e8992981331eb2244 installed DEBUG util.py:445: rpm-build-4.16.1.3-22.el9.x86_64 1671494270 235762 a8cef67396e18879a2a842552068964b installed DEBUG util.py:445: python3-pbr-5.10.0-1.el9s.noarch 1660806403 249820 508962209bc3151db269ba868891a395 installed DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch 1634840274 201527 71e318447a832463ba0bc0184392efde installed DEBUG util.py:445: python3-eventlet-0.33.1-4.el9s.noarch 1658940436 1586589 003c5c9ec087d505b60c65ad353232c2 installed DEBUG util.py:445: python3-sqlalchemy-1.4.45-3.el9.x86_64 1671496460 14880409 980b2725bd548abf82501b124edbe54c installed DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203353.ce6a105.el9.noarch 1676580088 45488 fc7d509493374142898f5c5ddecc31be installed DEBUG util.py:445: gcc-toolset-12-binutils-gold-2.38-16.el9.x86_64 1656674752 2180374 9e28b45a1a0ab4418d02f22bcbb41975 installed DEBUG util.py:445: binutils-gold-2.35.2-39.el9.x86_64 1678353776 2115899 e3c4227c854f7b88a605e2777756a676 installed DEBUG util.py:445: kernel-headers-5.14.0-299.el9.x86_64 1681379205 5951345 dee3babde0f7bf0c0edd38d081b63afc installed DEBUG util.py:445: tzdata-2023c-1.el9.noarch 1680043177 1712614 7f81ac5bbc0c1eaedb951830f2f5be55 installed DEBUG util.py:445: glibc-common-2.34-65.el9.x86_64 1681486646 1081337 5006317d5397d2958da856ddf99841dc installed DEBUG util.py:445: glibc-gconv-extra-2.34-65.el9.x86_64 1681486646 8122316 e9dbf9556de4aa1e3ae70e708e3b930d installed DEBUG util.py:445: glibc-minimal-langpack-2.34-65.el9.x86_64 1681486646 0 9bc14e3a582b4ca7045bfe9378ae9d3c installed DEBUG util.py:445: glibc-2.34-65.el9.x86_64 1681486646 6201339 5defc55f2cfda85cea3043b986d00d0a installed DEBUG util.py:445: libsemanage-3.5-2.el9.x86_64 1679591183 307070 8f22e0bc66922bfb658d3f14e284e22b installed DEBUG util.py:445: glibc-headers-2.34-65.el9.x86_64 1681486646 2165380 ff7eac680cbdb01a10435ae00019774c installed DEBUG util.py:445: glibc-devel-2.34-65.el9.x86_64 1681486646 160304 8b3995bede112eccb9835d79ebafecfc installed DEBUG util.py:445: python3-libsemanage-3.5-2.el9.x86_64 1679591183 424835 1039f2919041a95b38a0dd1c46e605c0 installed DEBUG util.py:445: python3-stevedore-4.0.2-0.20221021075011.93f1e09.el9.noarch 1666338773 259505 66352dde8bd8e241fcdba265566284fd installed DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch 1630942613 1257935 0cc2f5121e612744933816b37a2d6191 installed DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch 1628567478 170451 ba39972a8922f03102eccaee357565c3 installed DEBUG util.py:445: python3-iso8601-1.0.2-2.el9s.noarch 1655721493 52393 dcee8b773abe0063e1ab0b0b2e9ab646 installed DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch 1628567417 9834085 d2af174e7b69caff99cf80d32742e666 installed DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch 1628567131 62807 e22ec134c639837beec6cc34b8b6ce32 installed DEBUG util.py:445: python3-wrapt-1.14.1-1.el9s.x86_64 1663750857 181281 74498897c29d3aa08cbfde2a85f68bfb installed DEBUG util.py:445: python3-debtcollector-2.5.0-0.20221124135348.a6b46c5.el9.noarch 1669298267 77373 c0a3430f4eca0e08fe717482ba925be0 installed DEBUG util.py:445: python3-oslo-context-5.0.0-0.20220910084952.f388eb9.el9.noarch 1662800068 54738 cec5a057b10e4e2b0c3c2a233eac1e1a installed DEBUG util.py:445: python3-simplejson-3.17.6-2.el9s.x86_64 1643643647 1044087 da121860bf20abf4ed89b2c6d3db553e installed DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch 1630951099 28311 07487e9fa66fac6f66467d7e32650938 installed DEBUG util.py:445: python3-fixtures-3.0.0-27.el9s.noarch 1645616137 337422 5821a20a5d4cf74d5c2f1a0f3cffb0ab installed DEBUG util.py:445: python3-testtools-2.5.0-2.el9s.noarch 1634037703 1546855 fefaff5877f0961ba0841a02a6769287 installed DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch 1668698522 546833 afadc4d58ab86e22ea833db2a1e63084 installed DEBUG util.py:445: python3-dateutil-1:2.8.1-6.el9.noarch 1628567087 736672 108cebb38a2f3894cb3d763c38cfc844 installed DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220909081319.0b2f473.el9.noarch 1662711297 105585 dc5266045f058da5f9dcf877d08d6e8c installed DEBUG util.py:445: python3-keystoneauth1-5.0.0-0.20220913114133.2445a5d.el9.noarch 1663069496 2039952 66c934355ce375cafec4bb50296c4175 installed DEBUG util.py:445: python3-futurist-2.4.1-0.20220912114933.159d752.el9.noarch 1662983644 217551 df47e4db22f0e2c9842a521e6acbb571 installed DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch 1662390842 6077702 a47435f47ad1d4b5152b281bc1b96df6 installed DEBUG util.py:445: python3-dogpile-cache-1.1.8-1.el9s.noarch 1663750827 429949 753e4dcd8e7e32b3fff9a0471ce4d155 installed DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch 1631297515 330523 fd85a795691063c7decfb0a6360815ea installed DEBUG util.py:445: python3-voluptuous-0.13.1-1.el9s.noarch 1652101184 293788 5843036f004815daa9cb206f99eef0b4 installed DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch 1631094537 48273 b2fbeaa2f25d54cd1c7d7ed7a4e1fc23 installed DEBUG util.py:445: python3-amqp-5.1.1-1.el9s.noarch 1652273127 387590 9d91ec1f0e57f53da55fa94f363855c7 installed DEBUG util.py:445: python3-tenacity-6.3.1-1.el9s.noarch 1631619361 154563 9a73a59da3fee28adc643051c7e5159c installed DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch 1633588086 116012 34e2cf6a782f7f308d07a17b1b914277 installed DEBUG util.py:445: python3-msgpack-1.0.4-3.el9s.x86_64 1659019213 269032 0a35c0154969935b14d29e73ec5dfb9f installed DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch 1659096163 1900432 89be827dbdb29568386b53f63d98f9e7 installed DEBUG util.py:445: python3-fasteners-0.17.3-5.el9s.noarch 1659020907 87658 d950007d418c8d71dbeb5644ef9b9cb6 installed DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 1628567396 44167 c1e7628df9cd71ae1cb6edd6770b68e8 installed DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch 1645553213 281851 cd1d1385d5d5890a76293859c398a691 installed DEBUG util.py:445: python3-kombu-1:5.2.4-3.el9s.noarch 1659364936 1383870 22cae7c0fa74df928e87c77b0014bdda installed DEBUG util.py:445: python3-oslotest-4.5.0-0.20220913093411.d4b1896.el9.noarch 1663062130 123232 177888406ceede809ad4a2cb2a2f6a43 installed DEBUG util.py:445: python3-etcd3gw-1.0.0-2.el9s.noarch 1634037146 113216 aff7ed70d94b2b63929ca9155cc3e206 installed DEBUG util.py:445: python3-sushy-4.3.2-0.20221128094849.6c521c5.el9.noarch 1669629163 909422 9c8edcd6722c91262725e45c2903cd24 installed DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch 1631031198 105944 caea093dfebb12f3f758c14c092fd384 installed DEBUG util.py:445: python3-deprecated-1.2.13-3.el9s.noarch 1664268625 49101 00fb03057b19bd9a7c4d8e210dd6e7d8 installed DEBUG util.py:445: python3-prometheus_client-0.9.0-2.el9s.noarch 1631569572 279355 a47f39576805630c53cfb394ed8669cc installed DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 1631546481 791434 ab98054a0778e669edb807b991a82632 installed DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 1631546481 2661955 1c664d4b9572ce5a2eb6afefed4a77f0 installed DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch 1631691766 192640 0d4c3d68d00d5b7db033d6058647168a installed DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch 1633535871 24135 7b3e97ba88dd0ea1ae57665d3a9c19ab installed DEBUG util.py:445: python3-importlib-metadata-4.12.0-2.el9s.noarch 1660742349 128278 7b449b1ee83fd6e27922d1a7076b74b8 installed DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 1663746923 156432 2b158a9cdb02bf36cdd8c9fca1a6a548 installed DEBUG util.py:445: python3-waitress-2.1.2-1.el9s.noarch 1659518495 285402 34528154abe43d5355429f3bcb483342 installed DEBUG util.py:445: python3-uhashring-2.1-1.el9s.noarch 1669131506 59810 519745b98c36c7310f95c7f0c36e6e60 installed DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch 1631002661 244938 5b4ec321a6d30c821addffabd7b6ae67 installed DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch 1631001186 118061 fca7d23cac03325bc696eb9afae98d04 installed DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch 1658917746 270936 e573d2b32653042e19c048335cf19147 installed DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch 1631152149 764282 63dfb5d34e9879e24171fffca18acddd installed DEBUG util.py:445: python3-soupsieve-2.3.2.post1-1.el9s.noarch 1655916754 242962 8a2f9364cda1c137df197a3449b72a1c installed DEBUG util.py:445: python3-beautifulsoup4-4.10.0-1.el9s.noarch 1633963238 747303 8d19f0c00234e6019726a30a1acf14d3 installed DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 1659472653 4351883 71896f55627f364b81b4f83b160676d3 installed DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch 1631009404 532194 6199580c942a48d74da21a7894c09ddd installed DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch 1644341140 181444 1a32b489b5f446a3432233dd53bba169 installed DEBUG util.py:445: python3-retrying-1.3.3-2.el9s.noarch 1630939038 43176 68b3293a03bccccefbebe41876d53d0d installed DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch 1630938871 85134 20411a6c6d09ff532d04b46fa2698e86 installed DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch 1633948452 470408 12ebc3c7c395dc172f96b1f56f89e861 installed DEBUG util.py:445: python3-pyperclip-1.8.0-3.el9s.noarch 1631008660 68869 8780cc46d51476919a9b34ef71cc6ba7 installed DEBUG util.py:445: python3-munch-2.5.0-4.el9s.noarch 1630999550 56291 6a000e36cfe4e3c77e4aa7b39fc8ab89 installed DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch 1630942139 121078 183126babd06c89465fa59ad2f7d3a21 installed DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch 1630938106 129093 37606a066938c825a22cfc12acb4c666 installed DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch 1630940988 632914 bbaeb9eefeb3553c474aedbffb7e8aa2 installed DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch 1630944009 129710 c022b146aa231993effc90da39949fc0 installed DEBUG util.py:445: python3-jmespath-0.10.0-1.el9s.noarch 1631120628 131816 9d07c977e1b3bd6cef7f6fadfe62a213 installed DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch 1631007237 37238 55731f8f9de1de484db21afa8026930e installed DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch 1659078135 700005 f37b1246d219b6fa7ff5341f3372760d installed DEBUG util.py:445: python3-future-0.18.2-9.el9s.noarch 1631104344 3347426 b59d46db53b002ebefc473089f19ac8a installed DEBUG util.py:445: python3-defusedxml-0.7.1-1.el9s.noarch 1630940839 197453 7d361ddc549ed02e09dce6d8f55b2912 installed DEBUG util.py:445: python3-cachetools-5.2.0-3.el9s.noarch 1658919477 109712 94fd73c6a8bc84900515a0c7273003f8 installed DEBUG util.py:445: python3-autopage-0.5.1-1.el9s.noarch 1654511449 223311 b83b9604067bf35072a173624bc1e524 installed DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch 1659024175 31321 2c931a3aa2308a7df2db1b37001cfd66 installed DEBUG util.py:445: python3-redis-4.3.4-1.el9s.noarch 1664270382 1963893 68f65923c27216261b69fda299d56686 installed DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 1631099292 363811 c5e5aece8e9b7d89bb43b3c6e4c2b06b installed DEBUG util.py:445: zlib-devel-1.2.11-39.el9.x86_64 1675969888 141092 9e4f77239b2058cdb7464bc5ddd7da02 installed DEBUG util.py:445: xz-devel-5.2.5-8.el9.x86_64 1654006189 206635 d5b94e8131aaab8d2d7f1d3c7cce58ab installed DEBUG util.py:445: python3-wcwidth-0.2.5-8.el9.noarch 1654284089 480761 16397b4a55b470777efaa16cafcd7d08 installed DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch 1663751302 1389428 dd3da69f680c7348961326d84df33394 installed DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 1628567565 376376 07253d153221160ee6a1bdaa5745cd1c installed DEBUG util.py:445: python3-jsonschema-3.2.0-13.el9.noarch 1628567241 424136 149fa0deaee27d03f5e6c8299dd51a22 installed DEBUG util.py:445: python3-pyasn1-0.4.8-6.el9.noarch 1628567505 636453 45ef93f5f3792dae9031c89734f70742 installed DEBUG util.py:445: python3-pysnmp-4.4.12-6.el9s.noarch 1630935297 2972357 ab198f21968b28dcb4b0918919b8bea3 installed DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 1644945689 1133645 cff83134f090252851df7ebf7c9c25b7 installed DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch 1628567244 35025 0cd95694f14133d3549e31cdc0c9cc13 installed DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch 1628567242 56294 8c4831e26eec0439b33e99ba7e44fcd0 installed DEBUG util.py:445: python3-warlock-1.3.3-5.el9s.noarch 1631001538 31449 72b5787df80203ea758f46b93d85ec0e installed DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch 1628566993 65030 98f9fc31732d98505f70bff24f17a1df installed DEBUG util.py:445: memcached-0:1.6.9-7.el9.x86_64 1655290574 454290 5d9c616b91fe828789e42527dcfd37c7 installed DEBUG util.py:445: python3-binary-memcached-0.31.1-1.el9s.noarch 1669376970 153655 53253b11bbc7549644c59b0a2c50cee7 installed DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 1638889587 233125 892ca3aea684170f0b698b5ddee1fc75 installed DEBUG util.py:445: gmp-c++-1:6.2.0-10.el9.x86_64 1630059079 32688 fb04c97c3d9af207395a35574a817d3a installed DEBUG util.py:445: cmake-filesystem-3.20.2-8.el9.x86_64 1675204647 0 4c6bec83eee9c39736f6ce8e084344e1 installed DEBUG util.py:445: libxml2-devel-2.9.13-3.el9.x86_64 1667347708 9264370 257064b1451b7df74c36c2001341b35b installed DEBUG util.py:445: python3-ply-3.11-14.el9.noarch 1644945702 440210 585f6071f7eef976079b8a30299aa0a0 installed DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch 1644945657 763313 747a6f34c8aac42953a65a7ac3d91b5f installed DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 1644337049 1071319 49e7e86da58e037d9fe55484ba891a3a installed DEBUG util.py:445: python3-cryptography-36.0.1-2.el9.x86_64 1650368550 4760881 43b40ca497c55ef5aaa25f4a83388360 installed DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch 1630998538 392321 aac3981c7120cbee8ccd6ef6afc87943 installed DEBUG util.py:445: python3-paste-3.5.0-3.el9s.noarch 1631150163 2676072 ef69984ed7c0697d5676d6c3c3360b4f installed DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 1658918645 88449 beb77f270f95204e1dfbdfd5c182fa74 installed DEBUG util.py:445: python3-paste-deploy-2.1.1-2.el9s.noarch 1630941117 107242 8d7df0b1275668ac41219a3fd403791c installed DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch 1645461972 340048 13d68a8a9e993a7bc42d3a2afa52aa2e installed DEBUG util.py:445: python3-pyghmi-1.5.34-2.el9.noarch 1645645879 1618534 76a72facb66987f157fbae619bc7aeaf installed DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch 1631626392 93574 28ebe687d201b71093b36f8819d6e589 installed DEBUG util.py:445: python3-keyring-21.8.0-2.el9s.noarch 1630940270 215001 d98dc0aac7bf9950ca11515a439f22dc installed DEBUG util.py:445: python3-pynacl-1.4.0-2.el9s.x86_64 1631298521 545661 c077291383a216a938fd4734aaf98426 installed DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch 1628567226 249451 615b4784a08036c22c78686014bc79fe installed DEBUG util.py:445: openldap-compat-2.6.2-3.el9.x86_64 1659738155 59998 3cedd04ad95dbd0863fd10c9395993ad installed DEBUG util.py:445: libpq-13.5-1.el9.x86_64 1638803565 731472 fdc3330f0345e2df227f5aa2b6de26ca installed DEBUG util.py:445: python3-psycopg2-2.8.6-6.el9.x86_64 1645006630 619683 d704674bede229ec8ba26fa6ded86db8 installed DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 1628554829 138283 2f9c4364d7171454e6a0815a0e3c0995 installed DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 1644855966 689115 a64a1773a1cc542c5ea8d9236ddb37e3 installed DEBUG util.py:445: python3-cliff-4.0.0-0.20220913115843.58c853d.el9.noarch 1663070566 280144 4e0c7c1de230d6d35c565f01bff79197 installed DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220909080418.d7ac0ff.el9.noarch 1662710894 16693 74ce69d41ce7562fac63d0fa564a4278 installed DEBUG util.py:445: python3-openstacksdk-0.101.0-0.20221103174000.433815d.el9.noarch 1667497506 4609803 627be5e67ee451570652854b567f8771 installed DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220909115251.bc96c23.el9.noarch 1662724625 200469 9a4f5524f76b89e4959787b82a57dc6c installed DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220909140437.4179996.el9.noarch 1662732570 17480 70904c1b25218ba7094a4aade8edb9ee installed DEBUG util.py:445: python-oslo-versionedobjects-lang-3.0.1-0.20220913115328.2b12029.el9.noarch 1663070258 14691 2faff0ef2c5401b92bc48ffa13e38b04 installed DEBUG util.py:445: python-oslo-utils-lang-6.0.1-0.20220910090500.760deb9.el9.noarch 1662800968 15675 0cbb50b9bdb78880999f5031d53b68ef installed DEBUG util.py:445: python-oslo-policy-lang-4.0.0-0.20220913100707.5bd767b.el9.noarch 1663063783 14081 7926a20dfa45d9c61deafe1a7fc792bd installed DEBUG util.py:445: python-oslo-middleware-lang-5.0.0-0.20220913100152.51e1882.el9.noarch 1663063597 11821 f0d0fa54f945aac501c7a4ab73ee242f installed DEBUG util.py:445: python-oslo-log-lang-5.0.0-0.20220910091625.6401da7.el9.noarch 1662801587 17101 02c492671e6309220f72ea3a3e366137 installed DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220910085450.b031d17.el9.noarch 1662800392 16174 cc8a0b540c26b632b2880cad04ce4cca installed DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220910085450.b031d17.el9.noarch 1662800392 179177 88ca5994028ac952fbe07360d0340fed installed DEBUG util.py:445: python3-oslo-utils-6.0.1-0.20220910090500.760deb9.el9.noarch 1662800968 259653 c2ca6c577dcfa6542823aa5e11ce705f installed DEBUG util.py:445: python3-oslo-config-2:9.0.0-0.20220913094852.9eaae04.el9.noarch 1663062725 1153418 4305d04412cade84e120340e7df97ff3 installed DEBUG util.py:445: python3-oslo-serialization-5.0.0-0.20220910091027.dd2a819.el9.noarch 1662801306 75675 45a628f5290e6dced4ab7bf6b5e240c9 installed DEBUG util.py:445: python3-oslo-log-5.0.0-0.20220910091625.6401da7.el9.noarch 1662801587 167273 688cc50236f41579d017223a81c649d4 installed DEBUG util.py:445: python3-keystoneclient-1:5.0.1-0.20220913140034.bc8e9e7.el9.noarch 1663078001 1186607 9a9451fe7ca46f5d0f174d36f6046b99 installed DEBUG util.py:445: python3-oslo-metrics-0.5.0-0.20220913095319.fc22d0d.el9.noarch 1663063216 35531 4e1ddd43c0a3d123eabe767a79ddce14 installed DEBUG util.py:445: python3-oslo-policy-4.0.0-0.20220913100707.5bd767b.el9.noarch 1663063783 261914 8607d4d8229ee62f49970b898f90b4fe installed DEBUG util.py:445: python3-pycadf-3.1.1-0.20220909140437.4179996.el9.noarch 1662732570 152208 a30a776779d63afc4918b7ded09b0fac installed DEBUG util.py:445: python3-oslo-middleware-5.0.0-0.20220913100152.51e1882.el9.noarch 1663063597 174733 7fdd019cb1cbda469cfbe4e93a7ec86c installed DEBUG util.py:445: python3-osc-lib-2.6.2-0.20220913141526.d438afa.el9.noarch 1663078651 242025 124f45f4aa421ab94c02f44b5445ad71 installed DEBUG util.py:445: python-oslo-db-lang-12.1.0-0.20220929090402.7f3647b.el9.noarch 1664442558 17156 aefb28ed04bc27bf57124605c823c478 installed DEBUG util.py:445: python3-oslo-db-12.1.0-0.20220929090402.7f3647b.el9.noarch 1664442558 576893 69e77aaeddcc24a43f56e225ab77b1b4 installed DEBUG util.py:445: python-oslo-concurrency-lang-5.0.1-0.20220913105944.01cf2ff.el9.noarch 1663067056 18967 69fe0acf645ef6b81f36660e3e3ebfc8 installed DEBUG util.py:445: python3-oslo-concurrency-5.0.1-0.20220913105944.01cf2ff.el9.noarch 1663067056 112637 cc52288df861cc53657522ef089e9f35 installed DEBUG util.py:445: python3-oslo-service-3.0.0-0.20220913101925.a27acfe.el9.noarch 1663064640 226967 1e8f017a895bb43d821ab898ba542cca installed DEBUG util.py:445: python3-oslo-messaging-14.0.0-0.20220913121539.e44f286.el9.noarch 1663071507 988216 01c9e2d8a9ccb98c6f8ea1b4a4bfa4b7 installed DEBUG util.py:445: python-oslo-cache-lang-3.2.0-0.20221128115944.dde16ce.el9.noarch 1669637084 28801 cf400027574d9fe58e59ba64aa58bbaf installed DEBUG util.py:445: python3-oslo-cache-3.2.0-0.20221128115944.dde16ce.el9.noarch 1669637084 169632 06f842c2af430655490ef2d42a145414 installed DEBUG util.py:445: python3-keystonemiddleware-10.1.0-0.20220914163026.f7ac6a1.el9.noarch 1663173454 297909 970327d902eca8728b14ba7a1bf33813 installed DEBUG util.py:445: python3-oslo-versionedobjects-3.0.1-0.20220913115328.2b12029.el9.noarch 1663070258 273195 50c15847235b726a32d4135be1033226 installed DEBUG util.py:445: python3-osprofiler-3.4.3-0.20220913113327.3286301.el9.noarch 1663068962 471896 0e092f4f5b04cf843eef85041241e8aa installed DEBUG util.py:445: python3-ironic-lib-5.3.0-0.20220914172957.340a4b2.el9.noarch 1663176887 609609 fb8caa7834a888ec5acd4006c8824b67 installed DEBUG util.py:445: python3-proliantutils-2.14.0-0.20221123184856.de9759c.el9.noarch 1669229600 1563282 43ce9e0500d06fac66c6f29327151d6e installed DEBUG util.py:445: python3-oslo-db-tests-12.1.0-0.20220929090402.7f3647b.el9.noarch 1664442558 764858 f99eb53f5dd736e95a5871cfc0007b1c installed DEBUG util.py:445: python3-neutronclient-8.1.0-0.20220913152130.7467c71.el9.noarch 1663082631 1478240 88b2acee3aef33daa41cd41b7fa507b7 installed DEBUG util.py:445: python3-oslo-upgradecheck-2.0.0-0.20220913113658.b3a2b19.el9.noarch 1663069232 48822 1cc7b1b05d4a9cfae6511dc041c3f14e installed DEBUG util.py:445: python3-swiftclient-4.1.0-0.20220913142202.662e530.el9.noarch 1663079228 622007 c7f5b595592544bd9527c6b408533c67 installed DEBUG util.py:445: python3-oslo-reports-2.4.0-0.20220913094305.3a1157f.el9.noarch 1663062338 160312 43d44d98376ff53d169c04a27f1720da installed DEBUG util.py:445: python3-tooz-3.1.0-0.20220929085219.cb0392c.el9.noarch 1664441586 441199 4801496a853c08c63797248da410abd3 installed DEBUG util.py:445: python3-scciclient-0.12.2-0.20220914082215.5627307.el9.noarch 1663143896 748309 fae446cf591b68619b5d42665e184489 installed DEBUG util.py:445: python3-cinderclient-9.1.0-0.20220913141756.730a8c7.el9.noarch 1663078831 976301 75011d5a2c1d65356bcf5cc4a2c4c61b installed DEBUG util.py:445: python3-glanceclient-1:4.1.0-0.20220913122332.f2999ce.el9.noarch 1663072017 576290 1f6f52fc72ad3308a5b551790832a78d installed DEBUG util.py:445: python3-stestr-3.2.0-3.el9s.noarch 1639654789 740254 5f42f6f0c8d2623b3e6e8079d29f0597 installed DEBUG util.py:445: libxslt-devel-1.1.34-9.el9.x86_64 1643365783 2555449 5c2214de62a8bebea05af025ace8fd6f installed DEBUG util.py:445: gmp-devel-1:6.2.0-10.el9.x86_64 1630059079 358975 b760aa3d40bca672394734a52bf7d5b3 installed DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch 1658918383 1382705 92d31f66c14aa8c3fd10b88da1f58c67 installed DEBUG util.py:445: python3-dracclient-8.0.1-0.20230105105333.ce67a01.el9.noarch 1672916232 2085640 075544b6248b66d3d3d6585b2673cbe7 installed DEBUG util.py:445: python3-webtest-3.0.0-1.el9s.noarch 1634282083 292696 ef808a007595834a8bd318ac85c97fb6 installed DEBUG util.py:445: python3-automaton-3.0.1-0.20220913101013.0ea747e.el9.noarch 1663064047 119378 af2bf251f8062692c62e8ffb9f85d459 installed DEBUG util.py:445: python3-mock-4.0.3-5.el9s.noarch 1659021541 272394 8fae2f65609a1d1cf7d8e33b98e6a74b installed DEBUG util.py:445: python3-ddt-1.6.0-1.el9s.noarch 1663746586 31282 67e631dfc146645d73f03b3e9b0d47da installed DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch 1628567556 1507309 22eecc966970aea67d80d90be165da84 installed DEBUG util.py:445: openssl-devel-1:3.0.7-6.el9.x86_64 1678275876 4878589 b41c5351d2bf79af1106064ca2180067 installed DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1b960.el9.noarch 1662729765 106817 d560d1f00b6a498cd09986d40188acc9 installed DEBUG util.py:445: python3-os-traits-2.9.0-0.20220913121852.fc91a78.el9.noarch 1663071755 83596 27a6fdda704219cbcf2204fcb9f3bca4 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-centos9-zed-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=1034gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['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'} 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.Z3PBBp 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-21.1.1.dev25 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-21.1.1.dev25-0.20230419160927.b5d2fda.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-21.1.1.dev25 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg DEBUG util.py:445: + rm -rf driver-requirements.txt requirements.txt test-requirements.txt DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.lgz1eU DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' DEBUG util.py:445: + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' DEBUG util.py:445: + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -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/drivers DEBUG util.py:445: creating build/lib/ironic/drivers/modules DEBUG util.py:445: creating 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: copying ironic/drivers/modules/ilo/raid.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/management.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/firmware_processor.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/common.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/bios.py -> 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: creating build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.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/common.py -> 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: 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: copying ironic/tests/unit/drivers/third_party_driver_mocks.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/test_xclarity.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_snmp.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_irmc.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_ilo.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_generic.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_drac.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/__init__.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: creating build/lib/ironic/api DEBUG util.py:445: creating build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.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/link.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/__init__.py -> build/lib/ironic/api/controllers DEBUG util.py:445: creating build/lib/ironic/db DEBUG util.py:445: copying ironic/db/migration.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/__init__.py -> build/lib/ironic/db DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating 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: 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_flat.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network 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: copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: creating 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: copying ironic/tests/unit/common/test_utils.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_states.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_rpc.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_raid.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_policy.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_neutron.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_molds.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.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_image_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_glance_service.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_driver_factory.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_cinder.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/__init__.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: creating build/lib/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.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/swift.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/service.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/rpc.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/raid.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/profiler.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/nova.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/network.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/kickstart_utils.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/indicator_states.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/image_service.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/hash_ring.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/faults.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/driver_factory.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/context.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/components.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/boot_modes.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/args.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/__init__.py -> build/lib/ironic/common DEBUG util.py:445: creating 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/tests/unit/cmd/test_dbsync.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/__init__.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:445: creating 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: 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_power.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_inspect.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_console.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_boot.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating 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: copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible DEBUG util.py:445: creating 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/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.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_noop.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_ipmitool.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_inspect_utils.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_image_cache.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_console_utils.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_agent_power.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_base.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating 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: 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.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_utils.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_ramdisk.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_port.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_node.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_driver.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_conductor.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_chassis.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/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.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/trait.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/port.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/node_history.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/indirection.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/deployment.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/conductor.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/bios.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/allocation.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/__init__.py -> build/lib/ironic/objects DEBUG util.py:445: creating build/lib/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.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/dnsmasq.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/__init__.py -> build/lib/ironic/dhcp DEBUG util.py:445: creating 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: copying ironic/drivers/modules/storage/external.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/__init__.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:445: creating 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: 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_raid.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_management.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/version.py -> build/lib/ironic DEBUG util.py:445: copying ironic/__init__.py -> build/lib/ironic DEBUG util.py:445: creating build/lib/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> build/lib/ironic/hacking DEBUG util.py:445: copying ironic/hacking/__init__.py -> build/lib/ironic/hacking DEBUG util.py:445: creating 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: 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_raid.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_management.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_firmware_utils.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_bios.py -> 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: 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/db DEBUG util.py:445: creating build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.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_api.py -> 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: creating build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.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/snmp.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/redfish.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/opts.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/neutron.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/metrics_statsd.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/irmc.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/inspector.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/ibmc.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/glance.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/dnsmasq.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/deploy.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/database.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/conductor.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/auth.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/api.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/anaconda.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/__init__.py -> build/lib/ironic/conf DEBUG util.py:445: creating build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.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_steps.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_periodics.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_manager.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_cleaning.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_allocations.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/__init__.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/test_base.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/raid_constants.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/__init__.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/db/utils.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/test_volume_connectors.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_portgroups.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_node_traits.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_history.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_conductor.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_bios_settings.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_allocations.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/__init__.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: creating 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: 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/test_raid.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_periodic_task.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_job.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_common.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_bios.py -> 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: creating 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/api/controllers/v1/volume_connector.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/versions.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/ramdisk.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/port.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/node.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/driver.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/conductor.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/chassis.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/allocation.py -> 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/drivers/xclarity.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/snmp.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/irmc.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/intel_ipmi.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/ibmc.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/generic.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/drac.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/__init__.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/tests/base.py -> build/lib/ironic/tests DEBUG util.py:445: copying ironic/tests/__init__.py -> build/lib/ironic/tests DEBUG util.py:445: creating build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/singleprocess.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.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/api.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/__init__.py -> build/lib/ironic/cmd 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/test_management.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/base.py -> 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/api/wsgi.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/hooks.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/config.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/__init__.py -> build/lib/ironic/api DEBUG util.py:445: creating 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: copying ironic/drivers/modules/xclarity/management.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/__init__.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: creating 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: copying ironic/drivers/modules/ibmc/utils.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/power.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/management.py -> 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: creating 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: copying ironic/common/glance_service/image_service.py -> 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: creating build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.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/rpcapi.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/periodics.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.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/deployments.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/base_manager.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/__init__.py -> build/lib/ironic/conductor DEBUG util.py:445: creating 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: copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating 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: copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_dnsmasq.py -> 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: creating build/lib/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.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/api.py -> 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/tests/unit/api/utils.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/test_proxy_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_middleware.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_hooks.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_functions.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_acl.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/__init__.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.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/noop_mgmt.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/ipxe.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/inspector.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/image_utils.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/fake.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/console_utils.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/agent_power.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_base.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/__init__.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: creating 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: copying ironic/drivers/modules/drac/utils.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/power.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/job.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/common.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/bios.py -> 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: creating build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.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_trait.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_port.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_notification.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.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_deployment.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_conductor.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_bios.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/__init__.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: creating 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/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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating 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: copying ironic/drivers/modules/redfish/utils.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/power.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/inspect.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.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/__init__.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: creating 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: copying ironic/drivers/modules/irmc/power.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/inspect.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/boot.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/__init__.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: creating 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: copying ironic/api/middleware/json_ext.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/__init__.py -> build/lib/ironic/api/middleware DEBUG util.py:445: creating 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: 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_common.py -> 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: creating build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/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_periodic_task.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_inspect.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_boot.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating 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: copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf 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/boot-fallback.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.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: 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: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/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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: copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: creating build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: 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/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/initial_grub_cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/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: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.MdAaXA DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT DEBUG util.py:445: + mkdir /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' DEBUG util.py:445: + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' DEBUG util.py:445: + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/verify.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/singleprocess.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/auth_public_routes.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests DEBUG util.py:445: copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional DEBUG util.py:445: copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf DEBUG util.py:445: copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/dhcp/test_dnsmasq.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_verify.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/boot-fallback.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ks.cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/allocations.py to allocations.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/base_manager.py to base_manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/cleaning.py to cleaning.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/deployments.py to deployments.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/manager.py to manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/notification_utils.py to notification_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/periodics.py to periodics.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/rpcapi.py to rpcapi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/steps.py to steps.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/task_manager.py to task_manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/verify.py to verify.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/api.py to api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/conductor.py to conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/dbsync.py to dbsync.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/singleprocess.py to singleprocess.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/status.py to status.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/agent.py to agent.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/anaconda.py to anaconda.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ansible.py to ansible.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/api.py to api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/audit.py to audit.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/auth.py to auth.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/cinder.py to cinder.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/conductor.py to conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/console.py to console.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/database.py to database.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/default.py to default.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/deploy.py to deploy.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/dhcp.py to dhcp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/dnsmasq.py to dnsmasq.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/drac.py to drac.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/glance.py to glance.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/healthcheck.py to healthcheck.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ibmc.py to ibmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ilo.py to ilo.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/inspector.py to inspector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ipmi.py to ipmi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/irmc.py to irmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/metrics.py to metrics.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/molds.py to molds.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/neutron.py to neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/nova.py to nova.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/opts.py to opts.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/pxe.py to pxe.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/redfish.py to redfish.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/service_catalog.py to service_catalog.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/snmp.py to snmp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/swift.py to swift.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/xclarity.py to xclarity.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking/checks.py to checks.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/version.py to version.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/dnsmasq.py to dnsmasq.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/neutron.py to neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/none.py to none.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/allocation.py to allocation.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/chassis.py to chassis.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/conductor.py to conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/deploy_template.py to deploy_template.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/deployment.py to deployment.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/fields.py to fields.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/indirection.py to indirection.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/node.py to node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/node_history.py to node_history.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/notification.py to notification.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/port.py to port.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/portgroup.py to portgroup.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/trait.py to trait.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/volume_connector.py to volume_connector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/volume_target.py to volume_target.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/image_service.py to image_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/service_utils.py to service_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/args.py to args.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/boot_devices.py to boot_devices.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/boot_modes.py to boot_modes.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/cinder.py to cinder.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/components.py to components.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/config.py to config.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/context.py to context.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/driver_factory.py to driver_factory.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/exception.py to exception.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/faults.py to faults.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/fsm.py to fsm.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/hash_ring.py to hash_ring.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/i18n.py to i18n.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/image_service.py to image_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/images.py to images.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/indicator_states.py to indicator_states.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/keystone.py to keystone.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/kickstart_utils.py to kickstart_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/molds.py to molds.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/network.py to network.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/neutron.py to neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/nova.py to nova.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/policy.py to policy.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/profiler.py to profiler.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/pxe_utils.py to pxe_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/release_mappings.py to release_mappings.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/rpc.py to rpc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/rpc_service.py to rpc_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/service.py to service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/states.py to states.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/swift.py to swift.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py to fb3f10dd262e_add_fault_to_node_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py to f6fdb920c182_set_pxe_enabled_true.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py to f190f9d00a11_add_node_owner.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py to e918ff30eb42_resize_column_nodes_instance_info.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py to e294876e8028_add_node_network_interface.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py to dd67b91a1981_add_allocations_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py to dd34e1f1303b_add_resource_class_to_node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py to dbefd6bdaa2c_add_default_column_to_.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py to daa1ba02d98_add_volume_connectors_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py to d2b036ae9378_add_automated_clean_field.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py to cf1a80fdb352_add_node_network_data_field.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py to ce6c4b3cf5a2_add_allocation_owner.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py to cd2c80feb331_add_node_retired_field.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py to c1846a214450_add_boot_mode_and_secure_boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py to c14cef6dfedf_populate_node_network_interface.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py to c0455649680c_port_name.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py to bcdd431ba0bf_add_fields_for_all_interfaces.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py to bb59b63f55a_add_node_driver_internal_info.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py to b9117ac17882_add_node_deploy_step.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py to b4130a7fc904_create_nodetraits_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py to b2ad35726bb0_add_node_lessee.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py to ac00b586ab95_node_indexes.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py to 9ef41f07cb58_add_node_history_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py to 9cbeefa3763f_add_port_is_smartnic.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py to 93706939026c_add_node_protected_field.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py to 868cb606a74a_add_version_field_in_base_class.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py to 82c315d60161_add_bios_settings.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py to 789acc877671_add_raid_config.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py to 664f85c2f622_add_conductor_group_to_nodes_conductors.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py to 60cf717201bc_add_standalone_ports_supported.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/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-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py to 5674c57409b9_replace_nostate_with_available.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py to 516faf1bb9b1_resizing_column_nodes_driver.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py to 4f399b21ae71_add_node_clean_step.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py to 493d8f27f235_add_portgroup_configuration_fields.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py to 48d6c242bb9b_add_node_tags.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py to 487deb87cc9d_add_conductor_affinity_and_online.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py to 405cfe08f18d_add_rescue_interface_to_node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py to 3d86a077a3f2_add_port_physical_network.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py to 3cb628139ea4_nodes_add_console_enabled.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py to 3bea56f25597_add_unique_constraint_to_instance_uuid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py to 3ae36a5f5131_add_logical_name.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py to 31baaf680d2b_add_node_instance_info.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py to 2fb93ffd2af1_increase_node_name_length.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py to 2d13bc3d6bba_add_bios_config_and_interface.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py to 2bbd96b6ccb9_add_bios_fields_from_registry.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py to 2aac7e0872f6_add_deploy_templates.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py to 28c44432c9c3_add_node_description.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py to 242cc6a923b3_add_node_maintenance_reason.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py to 2353895ecfae_add_conductor_hardware_interfaces_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py to 21b331f883ef_add_provision_updated_at.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py to 1e1d5ace7dc6_add_inspection_started_at_and_.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py to 1e15e7122cc9_add_extra_column_to_deploy_templates.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py to 1d6951876d68_add_storage_interface_db_field_and_.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py to 1a59178ebdf6_add_volume_targets_table.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py to 10b163d4481e_add_port_portgroup_internal_info.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/api.py to api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/migration.py to migration.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/models.py to models.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/api.py to api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/migration.py to migration.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/auth_public_routes.py to auth_public_routes.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/json_ext.py to json_ext.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/parsable_error.py to parsable_error.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/app.py to app.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/config.py to config.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/functions.py to functions.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/hooks.py to hooks.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/method.py to method.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/wsgi.py to wsgi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/allocation.py to allocation.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/chassis.py to chassis.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/collection.py to collection.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/conductor.py to conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/deploy_template.py to deploy_template.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/driver.py to driver.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/event.py to event.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/node.py to node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/notification_utils.py to notification_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/port.py to port.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/versions.py to versions.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume.py to volume.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume_connector.py to volume_connector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume_target.py to volume_target.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/link.py to link.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/root.py to root.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/version.py to version.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf/test_auth.py to test_auth.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_allocation.py to test_allocation.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_bios.py to test_bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_chassis.py to test_chassis.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_conductor.py to test_conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_deploy_template.py to test_deploy_template.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_deployment.py to test_deployment.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_fields.py to test_fields.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_node.py to test_node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_node_history.py to test_node_history.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_notification.py to test_notification.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_objects.py to test_objects.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_port.py to test_port.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_portgroup.py to test_portgroup.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_trait.py to test_trait.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_volume_connector.py to test_volume_connector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_volume_target.py to test_volume_target.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_dnsmasq.py to test_dnsmasq.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_factory.py to test_factory.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/policy_fixture.py to policy_fixture.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/raid_constants.py to raid_constants.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/stubs.py to stubs.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/test_base.py to test_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/mgr_utils.py to mgr_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_allocations.py to test_allocations.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_base_manager.py to test_base_manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_cleaning.py to test_cleaning.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_deployments.py to test_deployments.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_manager.py to test_manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_notification_utils.py to test_notification_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_periodics.py to test_periodics.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_steps.py to test_steps.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_task_manager.py to test_task_manager.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_verify.py to test_verify.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_allocations.py to test_allocations.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_api.py to test_api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_bios_settings.py to test_bios_settings.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_chassis.py to test_chassis.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_conductor.py to test_conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_deploy_templates.py to test_deploy_templates.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_history.py to test_node_history.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_tags.py to test_node_tags.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_traits.py to test_node_traits.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_nodes.py to test_nodes.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_portgroups.py to test_portgroups.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_ports.py to test_ports.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_volume_connectors.py to test_volume_connectors.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_volume_targets.py to test_volume_targets.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_api.py to test_api.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py to test_migrations.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_models.py to test_models.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_conductor.py to test_conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_dbsync.py to test_dbsync.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_status.py to test_status.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_args.py to test_args.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_cinder.py to test_cinder.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_context.py to test_context.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_driver_factory.py to test_driver_factory.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_fsm.py to test_fsm.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_glance_service.py to test_glance_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_hash_ring.py to test_hash_ring.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_image_service.py to test_image_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_images.py to test_images.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_keystone.py to test_keystone.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_kickstart_utils.py to test_kickstart_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_molds.py to test_molds.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_network.py to test_network.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_neutron.py to test_neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_nova.py to test_nova.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_policy.py to test_policy.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_pxe_utils.py to test_pxe_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_release_mappings.py to test_release_mappings.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_rpc.py to test_rpc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_rpc_service.py to test_rpc_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_states.py to test_states.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_swift.py to test_swift.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_wsgi_service.py to test_wsgi_service.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_acl.py to test_acl.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_audit.py to test_audit.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_functions.py to test_functions.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_healthcheck.py to test_healthcheck.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_hooks.py to test_hooks.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_method.py to test_method.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_middleware.py to test_middleware.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_ospmiddleware.py to test_ospmiddleware.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_proxy_middleware.py to test_proxy_middleware.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_root.py to test_root.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_allocation.py to test_allocation.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py to test_chassis.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_collection.py to test_collection.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_conductor.py to test_conductor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_deploy_template.py to test_deploy_template.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_driver.py to test_driver.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_event.py to test_event.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_node.py to test_node.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py to test_notification_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_port.py to test_port.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py to test_portgroup.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py to test_ramdisk.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_root.py to test_root.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_versions.py to test_versions.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume.py to test_volume.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py to test_volume_connector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py to test_volume_target.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/test_base.py to test_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_bios.py to test_bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py to test_boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py to test_common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py to test_inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py to test_periodic_task.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py to test_common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py to test_cinder.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/test_external.py to test_external.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py to test_intel_ipmi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py to test_bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_boot.py to test_boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_common.py to test_common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py to test_inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_job.py to test_job.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py to test_periodic_task.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_bios.py to test_bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_boot.py to test_boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py to test_firmware_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_inspect.py to test_inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_vendor.py to test_vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py to test_vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent.py to test_agent.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_base.py to test_agent_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_client.py to test_agent_client.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_power.py to test_agent_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py to test_boot_mode_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_console_utils.py to test_console_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py to test_deploy_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_image_cache.py to test_image_cache.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_image_utils.py to test_image_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_inspect_utils.py to test_inspect_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_inspector.py to test_inspector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py to test_ipmitool.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ipxe.py to test_ipxe.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_noop.py to test_noop.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_noop_mgmt.py to test_noop_mgmt.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_pxe.py to test_pxe.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ramdisk.py to test_ramdisk.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_snmp.py to test_snmp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py to test_deploy.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_bios.py to test_bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py to test_boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py to test_common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py to test_console.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py to test_firmware_processor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py to test_inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py to test_management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py to test_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_raid.py to test_raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py to test_vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_common.py to test_common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_flat.py to test_flat.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py to test_neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_noop.py to test_noop.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_base.py to test_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_drac.py to test_drac.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_fake_hardware.py to test_fake_hardware.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_generic.py to test_generic.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ibmc.py to test_ibmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ilo.py to test_ilo.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ipmi.py to test_ipmi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_irmc.py to test_irmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_redfish.py to test_redfish.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_snmp.py to test_snmp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_utils.py to test_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_xclarity.py to test_xclarity.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py to third_party_driver_mock_specs.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py to third_party_driver_mocks.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/base.py to base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/drac.py to drac.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/generic.py to generic.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/hardware_type.py to hardware_type.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ibmc.py to ibmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ilo.py to ilo.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/intel_ipmi.py to intel_ipmi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ipmi.py to ipmi.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/irmc.py to irmc.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/redfish.py to redfish.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/snmp.py to snmp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/xclarity.py to xclarity.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/boot.py to boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/common.py to common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/boot.py to boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/firmware_utils.py to firmware_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/vendor.py to vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/boot.py to boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/common.py to common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/job.py to job.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/vendor_passthru.py to vendor_passthru.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent.py to agent.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_base.py to agent_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_client.py to agent_client.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_power.py to agent_power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/boot_mode_utils.py to boot_mode_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/console_utils.py to console_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/deploy_utils.py to deploy_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/fake.py to fake.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/image_cache.py to image_cache.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/image_utils.py to image_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/inspect_utils.py to inspect_utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/inspector.py to inspector.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ipxe.py to ipxe.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/noop.py to noop.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/noop_mgmt.py to noop_mgmt.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/pxe.py to pxe.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/pxe_base.py to pxe_base.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ramdisk.py to ramdisk.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/snmp.py to snmp.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/common.py to common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/external.py to external.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/noop.py to noop.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py to stream_url.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py to root_hints.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py to facts_wwn.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py to ironic_log.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/common.py to common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/flat.py to flat.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/neutron.py to neutron.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/noop.py to noop.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/bios.py to bios.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/boot.py to boot.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/common.py to common.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/console.py to console.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/firmware_processor.py to firmware_processor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/management.py to management.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/power.py to power.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/raid.py to raid.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-39.pyc DEBUG util.py:445: writing byte-compilation script '/tmp/tmpbfz_jr9i.py' DEBUG util.py:445: /usr/bin/python3 /tmp/tmpbfz_jr9i.py DEBUG util.py:445: removing /tmp/tmpbfz_jr9i.py DEBUG util.py:445: running install_data DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic-21.1.1.dev25-py3.9.egg-info DEBUG util.py:445: running install_scripts DEBUG util.py:445: Installing ironic script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin DEBUG util.py:445: + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/bin/__pycache__ DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/etc/sudoers.d DEBUG util.py:445: + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.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 21.1.1-0.20230419160927.b5d2fda.el9 --unique-debug-suffix -21.1.1-0.20230419160927.b5d2fda.el9.x86_64 --unique-debug-src-base openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 --remove-section .gnu.build.attributes -S debugsourcefiles.list /builddir/build/BUILD/ironic-21.1.1.dev25 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:445: + /usr/lib/rpm/brp-compress DEBUG util.py:445: + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip DEBUG util.py:445: + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip DEBUG util.py:445: + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 DEBUG util.py:445: Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9 using python3.9 DEBUG util.py:445: + /usr/lib/rpm/brp-python-hardlink DEBUG util.py:445: + /usr/lib/rpm/redhat/brp-mangle-shebangs DEBUG util.py:445: mangling shebang in /usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh from /bin/sh to #!/usr/bin/sh DEBUG util.py:445: Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.LULDmg DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + PYTHON=/usr/bin/python3 DEBUG util.py:445: + stestr run DEBUG util.py:445: 2023-04-19 16:14:20.731 650981 INFO alembic.runtime.migration [None req-f7158eda-e72d-4926-b25a-79818ed8ce87 - - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-04-19 16:14:20.732 650981 INFO alembic.runtime.migration [None req-f7158eda-e72d-4926-b25a-79818ed8ce87 - - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [1.470334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.151888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.055757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.102835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.157198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.220383s] ... ok DEBUG util.py:445: 2023-04-19 16:14:21.848 651035 INFO alembic.runtime.migration [None req-53251d49-42cf-4617-bac6-a1ceef5e8732 - - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-04-19 16:14:21.849 651035 INFO alembic.runtime.migration [None req-53251d49-42cf-4617-bac6-a1ceef5e8732 - - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: 2023-04-19 16:14:21.994 651076 INFO alembic.runtime.migration [None req-ec4bfd5c-b7e9-43c7-b54e-7e86965939c1 - - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-04-19 16:14:21.995 651076 INFO alembic.runtime.migration [None req-ec4bfd5c-b7e9-43c7-b54e-7e86965939c1 - - - - - -] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [1.059300s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.340121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.167776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.159351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.073202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.062488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.129622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [1.517134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.116273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.121337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.066077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.098358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.133137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.207054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.095711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.150113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.109961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.149498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.312159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.063569s] ... ok DEBUG util.py:445: 2023-04-19 16:14:23.125 651025 INFO alembic.runtime.migration [None req-06944aaa-dcbf-4b21-a1a3-f6de6c776cb2 - - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-04-19 16:14:23.125 651025 INFO alembic.runtime.migration [None req-06944aaa-dcbf-4b21-a1a3-f6de6c776cb2 - - - - - -] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.098407s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.098115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.281998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.395867s] ... ok 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-9f835134-f319-4d95-900d-bbfeb6aeb97c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-71322edd-814d-4dc7-9487-407db0ae950e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be 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: 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-df92589a-5c15-453a-ae74-b87a08b8427d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?node=node-1 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '74455cad-ff5d-4404-8e29-f572e2dd55c1', 'created_at': '2023-04-19T16:14:22.616724+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/74455cad-ff5d-4404-8e29-f572e2dd55c1', 'rel': 'self'}, {'href': 'http://localhost/allocations/74455cad-ff5d-4404-8e29-f572e2dd55c1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1e08f052-66a0-41d0-8379-f71ea6036a86', 'created_at': '2023-04-19T16:14:22.618383+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/1e08f052-66a0-41d0-8379-f71ea6036a86', 'rel': 'self'}, {'href': 'http://localhost/allocations/1e08f052-66a0-41d0-8379-f71ea6036a86', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '11b5ca00-9f4f-41dc-a992-bb8cb5864ec2', 'created_at': '2023-04-19T16:14:22.625861+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/11b5ca00-9f4f-41dc-a992-bb8cb5864ec2', 'rel': 'self'}, {'href': 'http://localhost/allocations/11b5ca00-9f4f-41dc-a992-bb8cb5864ec2', '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-9eff9660-0527-4886-9679-9801e1c47364 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '71db77f8-f923-4cc6-8fe3-2a019fdf1140', 'created_at': '2023-04-19T16:14:22.984392+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/71db77f8-f923-4cc6-8fe3-2a019fdf1140', 'rel': 'self'}, {'href': 'http://localhost/allocations/71db77f8-f923-4cc6-8fe3-2a019fdf1140', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '5eb3424f-6366-4d34-afc1-1a316c60b6a9', 'created_at': '2023-04-19T16:14:22.985808+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/5eb3424f-6366-4d34-afc1-1a316c60b6a9', 'rel': 'self'}, {'href': 'http://localhost/allocations/5eb3424f-6366-4d34-afc1-1a316c60b6a9', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '1a8646ae-0a29-4d8a-9466-471a4ed25a89', 'created_at': '2023-04-19T16:14:22.988128+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/1a8646ae-0a29-4d8a-9466-471a4ed25a89', 'rel': 'self'}, {'href': 'http://localhost/allocations/1a8646ae-0a29-4d8a-9466-471a4ed25a89', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations?state=allocating {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '0adae1a6-3537-4c0b-ae26-79c394c65a9d', 'created_at': '2023-04-19T16:14:23.052927+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/0adae1a6-3537-4c0b-ae26-79c394c65a9d', 'rel': 'self'}, {'href': 'http://localhost/allocations/0adae1a6-3537-4c0b-ae26-79c394c65a9d', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '92810ffd-ba32-4ece-a5ad-73ebd22e98f9', 'created_at': '2023-04-19T16:14:23.054485+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/92810ffd-ba32-4ece-a5ad-73ebd22e98f9', 'rel': 'self'}, {'href': 'http://localhost/allocations/92810ffd-ba32-4ece-a5ad-73ebd22e98f9', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '706a6484-fa5a-4c5e-9fe4-d55f9ef9ef53', 'created_at': '2023-04-19T16:14:23.055596+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/706a6484-fa5a-4c5e-9fe4-d55f9ef9ef53', 'rel': 'self'}, {'href': 'http://localhost/allocations/706a6484-fa5a-4c5e-9fe4-d55f9ef9ef53', '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/d82a14c9-42c8-4569-881a-6ee26e493fe6', 'rel': 'self'}, {'href': 'http://localhost/allocations/d82a14c9-42c8-4569-881a-6ee26e493fe6', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations?fields=node_uuid&limit=2 {} DEBUG util.py:445: GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/c461958b-73a1-4747-8633-34a40fdddd3e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c461958b-73a1-4747-8633-34a40fdddd3e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/88a2d9f9-7124-4ba1-8df6-a4a1f3dd3a57', 'rel': 'self'}, {'href': 'http://localhost/allocations/88a2d9f9-7124-4ba1-8df6-a4a1f3dd3a57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=88a2d9f9-7124-4ba1-8df6-a4a1f3dd3a57'} DEBUG util.py:445: GET: /v1/allocations/d5f05317-6772-4450-b906-13c038619cc5 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.134271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.967265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.109699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.116102s] ... ok DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-44764820-f803-4eed-96ff-129f3ed455fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: DELETE: /v1/allocations/cd6ce6bc-7c9f-4b5c-a4e1-1d51277d5f4e 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/8e985617-c9a8-4cd2-b35d-7dbbbb030d4d DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b26246a-ad69-4fc2-ab69-aeac0fd191a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/3ae39674-d6f5-4551-93a7-f67e9dcdb15a {} DEBUG util.py:445: GOT:{'uuid': '3ae39674-d6f5-4551-93a7-f67e9dcdb15a', 'created_at': '2023-04-19T16:14:21.566213+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/3ae39674-d6f5-4551-93a7-f67e9dcdb15a', 'rel': 'self'}, {'href': 'http://localhost/allocations/3ae39674-d6f5-4551-93a7-f67e9dcdb15a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': []} DEBUG util.py:445: GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '1cf13f45-9c1f-4fe6-b5cc-16403de27948', 'created_at': '2023-04-19T16:14:22.066033+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/1cf13f45-9c1f-4fe6-b5cc-16403de27948', 'rel': 'self'}, {'href': 'http://localhost/allocations/1cf13f45-9c1f-4fe6-b5cc-16403de27948', '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-479fe7bf-934e-4a75-afca-4cf8e19204f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:{'uuid': '1d604913-edb5-4028-8fb9-baf204c53513', 'created_at': '2023-04-19T16:14:22.416948+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/1d604913-edb5-4028-8fb9-baf204c53513', 'rel': 'self'}, {'href': 'http://localhost/allocations/1d604913-edb5-4028-8fb9-baf204c53513', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/allocations/e48b5f30-dcd0-49e7-a89f-5d987a9908f9 {} DEBUG util.py:445: GOT:{'uuid': 'e48b5f30-dcd0-49e7-a89f-5d987a9908f9', 'created_at': '2023-04-19T16:14:22.681281+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/e48b5f30-dcd0-49e7-a89f-5d987a9908f9', 'rel': 'self'}, {'href': 'http://localhost/allocations/e48b5f30-dcd0-49e7-a89f-5d987a9908f9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1a06ba92-0d5b-4124-aa5e-7ac44acf433e', '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/1a06ba92-0d5b-4124-aa5e-7ac44acf433e DEBUG util.py:445: Openstack-Request-Id: req-c946b0a4-55f1-44c4-9da3-223cbc98cb70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1a06ba92-0d5b-4124-aa5e-7ac44acf433e", "created_at": "2023-04-19T16:14:22.970378+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/1a06ba92-0d5b-4124-aa5e-7ac44acf433e", "rel": "self"}, {"href": "http://localhost/allocations/1a06ba92-0d5b-4124-aa5e-7ac44acf433e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/1a06ba92-0d5b-4124-aa5e-7ac44acf433e {} DEBUG util.py:445: GOT:{'uuid': '1a06ba92-0d5b-4124-aa5e-7ac44acf433e', 'created_at': '2023-04-19T16:14:22.970378+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/1a06ba92-0d5b-4124-aa5e-7ac44acf433e', 'rel': 'self'}, {'href': 'http://localhost/allocations/1a06ba92-0d5b-4124-aa5e-7ac44acf433e', '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/296952e2-13e7-4ccf-b847-9790c08b3e18 DEBUG util.py:445: Openstack-Request-Id: req-12823088-c266-429a-8a8b-f190b39b8904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "296952e2-13e7-4ccf-b847-9790c08b3e18", "created_at": "2023-04-19T16:14:23.246556+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/296952e2-13e7-4ccf-b847-9790c08b3e18", "rel": "self"}, {"href": "http://localhost/allocations/296952e2-13e7-4ccf-b847-9790c08b3e18", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/296952e2-13e7-4ccf-b847-9790c08b3e18 {} DEBUG util.py:445: GOT:{'uuid': '296952e2-13e7-4ccf-b847-9790c08b3e18', 'created_at': '2023-04-19T16:14:23.246556+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/296952e2-13e7-4ccf-b847-9790c08b3e18', 'rel': 'self'}, {'href': 'http://localhost/allocations/296952e2-13e7-4ccf-b847-9790c08b3e18', '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': 'ec7153f0-7bd8-4333-953d-00213a30a2a1', 'owner': None} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.145319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.118870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.130852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.142186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.038644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.031123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.164911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.164565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.077664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.173473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.055919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.134612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.208382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.077578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.160962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.191111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.190596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.121237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.162927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.143080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.057037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.131567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.149391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.131274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.069483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.151054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.080976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.196470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.048257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.098679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.062598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.260237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.184148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.079647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.162412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.082516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.194670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.138921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.188205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.235757s] ... ok DEBUG util.py:445: GOT:{'uuid': 'd5f05317-6772-4450-b906-13c038619cc5', 'created_at': '2023-04-19T16:14:23.375909+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/d5f05317-6772-4450-b906-13c038619cc5', 'rel': 'self'}, {'href': 'http://localhost/allocations/d5f05317-6772-4450-b906-13c038619cc5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/c5acaf29-ea9c-48fd-ae63-d8e84df2b393?fields=resource_class,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/c5acaf29-ea9c-48fd-ae63-d8e84df2b393', 'rel': 'self'}, {'href': 'http://localhost/allocations/c5acaf29-ea9c-48fd-ae63-d8e84df2b393', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/7c3d2776-1140-40f5-8032-0aadb375743c {} 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/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/6e35b353-dee7-420e-9123-01cfb33ad7b8?fields=owner {} DEBUG util.py:445: GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/6e35b353-dee7-420e-9123-01cfb33ad7b8', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e35b353-dee7-420e-9123-01cfb33ad7b8', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations?sort_key=uuid {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '59f432d6-e5c8-40a5-bbc0-3aa0cc284d65', 'created_at': '2023-04-19T16:14:24.016969+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/59f432d6-e5c8-40a5-bbc0-3aa0cc284d65', 'rel': 'self'}, {'href': 'http://localhost/allocations/59f432d6-e5c8-40a5-bbc0-3aa0cc284d65', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ccadee8a-e36d-486b-a62b-0b9e159f310f', 'created_at': '2023-04-19T16:14:24.021591+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/ccadee8a-e36d-486b-a62b-0b9e159f310f', 'rel': 'self'}, {'href': 'http://localhost/allocations/ccadee8a-e36d-486b-a62b-0b9e159f310f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd2a51a5a-835b-4327-8695-11f38304b66b', 'created_at': '2023-04-19T16:14:24.019362+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/d2a51a5a-835b-4327-8695-11f38304b66b', 'rel': 'self'}, {'href': 'http://localhost/allocations/d2a51a5a-835b-4327-8695-11f38304b66b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/allocations/fb5f69ed-c105-436e-a444-baa3e1e97d1e [{'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-f3f0a0c9-e335-4912-84e0-8ec98ff66a33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/72b962b9-a65b-4191-948c-4989fa8d0341 [{'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-e6497691-4b18-4633-97fe-a1fd365a094b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "72b962b9-a65b-4191-948c-4989fa8d0341", "created_at": "2023-04-19T16:14:24.290556+00:00", "updated_at": "2023-04-19T16:14:24.303408+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/72b962b9-a65b-4191-948c-4989fa8d0341", "rel": "self"}, {"href": "http://localhost/allocations/72b962b9-a65b-4191-948c-4989fa8d0341", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/72b962b9-a65b-4191-948c-4989fa8d0341 {} DEBUG util.py:445: GOT:{'uuid': '72b962b9-a65b-4191-948c-4989fa8d0341', 'created_at': '2023-04-19T16:14:24.290556+00:00', 'updated_at': '2023-04-19T16:14:24.303408+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/72b962b9-a65b-4191-948c-4989fa8d0341', 'rel': 'self'}, {'href': 'http://localhost/allocations/72b962b9-a65b-4191-948c-4989fa8d0341', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/f317f4b2-30bd-4294-a4a9-73c9834ae4fa [{'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-852b5fe5-71dd-4a7b-84d6-b7c706b515df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/39fd0739-0129-4a40-a5e8-ccdb133a9635 [{'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-48bcc455-2d7f-42a4-919e-d2d746d23ac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '5efcb82d-3303-46c0-bc16-2988404f7687', '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/5efcb82d-3303-46c0-bc16-2988404f7687 DEBUG util.py:445: Openstack-Request-Id: req-8dec3383-c064-43a8-8522-4e6db60c04fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "5efcb82d-3303-46c0-bc16-2988404f7687", "created_at": "2023-04-19T16:14:24.596152+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/5efcb82d-3303-46c0-bc16-2988404f7687", "rel": "self"}, {"href": "http://localhost/allocations/5efcb82d-3303-46c0-bc16-2988404f7687", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/5efcb82d-3303-46c0-bc16-2988404f7687 {} DEBUG util.py:445: GOT:{'uuid': '5efcb82d-3303-46c0-bc16-2988404f7687', 'created_at': '2023-04-19T16:14:24.596152+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/5efcb82d-3303-46c0-bc16-2988404f7687', 'rel': 'self'}, {'href': 'http://localhost/allocations/5efcb82d-3303-46c0-bc16-2988404f7687', '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: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.191975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.034585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.056586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.032945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.044240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.121647s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/ec7153f0-7bd8-4333-953d-00213a30a2a1 DEBUG util.py:445: Openstack-Request-Id: req-26e47910-229b-4ba8-b00b-c2db925e883e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ec7153f0-7bd8-4333-953d-00213a30a2a1", "created_at": "2023-04-19T16:14:23.436621+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/ec7153f0-7bd8-4333-953d-00213a30a2a1", "rel": "self"}, {"href": "http://localhost/allocations/ec7153f0-7bd8-4333-953d-00213a30a2a1", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/ec7153f0-7bd8-4333-953d-00213a30a2a1 {} DEBUG util.py:445: GOT:{'uuid': 'ec7153f0-7bd8-4333-953d-00213a30a2a1', 'created_at': '2023-04-19T16:14:23.436621+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/ec7153f0-7bd8-4333-953d-00213a30a2a1', 'rel': 'self'}, {'href': 'http://localhost/allocations/ec7153f0-7bd8-4333-953d-00213a30a2a1', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1e5c32d4-e069-4164-8b11-84ec8b87047b', '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/1e5c32d4-e069-4164-8b11-84ec8b87047b DEBUG util.py:445: Openstack-Request-Id: req-2e833f0a-6cb1-4ffe-9d50-fdd05ff625a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "1e5c32d4-e069-4164-8b11-84ec8b87047b", "created_at": "2023-04-19T16:14:23.552114+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/1e5c32d4-e069-4164-8b11-84ec8b87047b", "rel": "self"}, {"href": "http://localhost/allocations/1e5c32d4-e069-4164-8b11-84ec8b87047b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1e5c32d4-e069-4164-8b11-84ec8b87047b {} DEBUG util.py:445: GOT:{'uuid': '1e5c32d4-e069-4164-8b11-84ec8b87047b', 'created_at': '2023-04-19T16:14:23.552114+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/1e5c32d4-e069-4164-8b11-84ec8b87047b', 'rel': 'self'}, {'href': 'http://localhost/allocations/1e5c32d4-e069-4164-8b11-84ec8b87047b', '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-db38c997-2c59-4ba4-b3f6-140e03baeaad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': 'f5df4afd-d486-4363-8bfa-91f2cd2ff77a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/f5df4afd-d486-4363-8bfa-91f2cd2ff77a', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5df4afd-d486-4363-8bfa-91f2cd2ff77a', 'rel': 'bookmark'}]}, {'uuid': '1fb62081-7025-4928-8894-e047ed52865b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/1fb62081-7025-4928-8894-e047ed52865b', 'rel': 'self'}, {'href': 'http://localhost/chassis/1fb62081-7025-4928-8894-e047ed52865b', 'rel': 'bookmark'}]}, {'uuid': 'f6a8d0d3-0838-4d44-aca3-030525ce965e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/f6a8d0d3-0838-4d44-aca3-030525ce965e', 'rel': 'self'}, {'href': 'http://localhost/chassis/f6a8d0d3-0838-4d44-aca3-030525ce965e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=f6a8d0d3-0838-4d44-aca3-030525ce965e'} 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?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-847d8aa3-5ae7-4c6f-84d2-b754bf41edb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'a199f6cd-1116-4772-a06b-0f23c52f34f1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a199f6cd-1116-4772-a06b-0f23c52f34f1', 'rel': 'self'}, {'href': 'http://localhost/chassis/a199f6cd-1116-4772-a06b-0f23c52f34f1', 'rel': 'bookmark'}]}, {'uuid': '8cd85c82-640b-4985-b7e4-494a225d41bd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/8cd85c82-640b-4985-b7e4-494a225d41bd', 'rel': 'self'}, {'href': 'http://localhost/chassis/8cd85c82-640b-4985-b7e4-494a225d41bd', 'rel': 'bookmark'}]}, {'uuid': '7f20e2a8-5a34-48c2-8b97-649a94fb3fa2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/7f20e2a8-5a34-48c2-8b97-649a94fb3fa2', 'rel': 'self'}, {'href': 'http://localhost/chassis/7f20e2a8-5a34-48c2-8b97-649a94fb3fa2', '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/88406adb-1273-4a23-a382-02cf2c7b001e', 'rel': 'self'}, {'href': 'http://localhost/chassis/88406adb-1273-4a23-a382-02cf2c7b001e', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/5f75f815-0f7b-410a-a271-1769d927fb7a', 'rel': 'self'}, {'href': 'http://localhost/chassis/5f75f815-0f7b-410a-a271-1769d927fb7a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=5f75f815-0f7b-410a-a271-1769d927fb7a'} 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-fedc8a7b-96f2-4a49-bd74-e3bcd7b1b43d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e {} DEBUG util.py:445: GOT:{'uuid': '5b637b56-41cb-4030-88e6-eeec3589fe4e', 'created_at': '2023-04-19T16:14:24.841470+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.172382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.126959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.131233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.180666s] ... 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/5bc67a73-a202-4e36-896b-8f76e60e7c13 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a9bcf218-fffb-4309-972b-18eb850a33db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: DELETE: /v1/nodes/84bc3c12-8805-4f3a-bdf2-732beb1a704a/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-2b406920-6285-44c0-bd7b-f06eabc754c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 84bc3c12-8805-4f3a-bdf2-732beb1a704a was not found\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?owner=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59fcc861-7b51-4fb3-8fa1-74964adfc415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-67556169-d135-4eec-879a-106798d00dac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '32ae8e01-14a1-45dd-866b-d72596695183', 'created_at': '2023-04-19T16:14:24.501286+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/32ae8e01-14a1-45dd-866b-d72596695183', 'rel': 'self'}, {'href': 'http://localhost/allocations/32ae8e01-14a1-45dd-866b-d72596695183', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4eb0c392-3a81-4142-931f-2e7545311e8c', 'created_at': '2023-04-19T16:14:24.502427+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/4eb0c392-3a81-4142-931f-2e7545311e8c', 'rel': 'self'}, {'href': 'http://localhost/allocations/4eb0c392-3a81-4142-931f-2e7545311e8c', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b5f2109c-b3f4-4c1e-b7d1-33fc5705e3e4', 'created_at': '2023-04-19T16:14:24.503483+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/b5f2109c-b3f4-4c1e-b7d1-33fc5705e3e4', 'rel': 'self'}, {'href': 'http://localhost/allocations/b5f2109c-b3f4-4c1e-b7d1-33fc5705e3e4', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'e212af90-18e0-48bf-ad4d-1cd99e88037b', 'created_at': '2023-04-19T16:14:24.504863+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/e212af90-18e0-48bf-ad4d-1cd99e88037b', 'rel': 'self'}, {'href': 'http://localhost/allocations/e212af90-18e0-48bf-ad4d-1cd99e88037b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '346ac1a6-98d6-4bc0-9373-6013dfb259e0', 'created_at': '2023-04-19T16:14:24.506150+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/346ac1a6-98d6-4bc0-9373-6013dfb259e0', 'rel': 'self'}, {'href': 'http://localhost/allocations/346ac1a6-98d6-4bc0-9373-6013dfb259e0', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'f9c8a6e3-2657-424c-84d4-f31799d7f180', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/f9c8a6e3-2657-424c-84d4-f31799d7f180', 'rel': 'self'}, {'href': 'http://localhost/allocations/f9c8a6e3-2657-424c-84d4-f31799d7f180', 'rel': 'bookmark'}]}, {'uuid': 'a5b02ac7-6e03-4290-9f23-78ddfcd39023', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/a5b02ac7-6e03-4290-9f23-78ddfcd39023', 'rel': 'self'}, {'href': 'http://localhost/allocations/a5b02ac7-6e03-4290-9f23-78ddfcd39023', 'rel': 'bookmark'}]}, {'uuid': '17b4fb09-469a-444b-aad5-7f84bf86a4a9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/17b4fb09-469a-444b-aad5-7f84bf86a4a9', 'rel': 'self'}, {'href': 'http://localhost/allocations/17b4fb09-469a-444b-aad5-7f84bf86a4a9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=17b4fb09-469a-444b-aad5-7f84bf86a4a9'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '6475767d-67ad-47f6-ba43-4aa7f4708805', 'created_at': '2023-04-19T16:14:24.669667+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/6475767d-67ad-47f6-ba43-4aa7f4708805', 'rel': 'self'}, {'href': 'http://localhost/allocations/6475767d-67ad-47f6-ba43-4aa7f4708805', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'd9d1d460-ba7d-4083-8b64-b751d61b7254', 'created_at': '2023-04-19T16:14:24.670779+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/d9d1d460-ba7d-4083-8b64-b751d61b7254', 'rel': 'self'}, {'href': 'http://localhost/allocations/d9d1d460-ba7d-4083-8b64-b751d61b7254', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '446ad589-b697-4a72-bb43-7aee4628c202', 'created_at': '2023-04-19T16:14:24.672304+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/446ad589-b697-4a72-bb43-7aee4628c202', 'rel': 'self'}, {'href': 'http://localhost/allocations/446ad589-b697-4a72-bb43-7aee4628c202', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=446ad589-b697-4a72-bb43-7aee4628c202'} DEBUG util.py:445: GET: /v1/allocations/ed6da464-8df5-4d81-8bc3-6a966bb3353d?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-c07306d9-bcbf-4c8c-920a-56da6cffa2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/d39c7896-7266-40f9-ae70-d1604af01edc.json {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.290849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.280985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.180833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.242396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.102463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.124293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.118979s] ... ok 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-c3dbb7a5-bcdd-4162-ab27-00e69723c0eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/8e75a376-8fdd-414c-ab5f-19c304b06031/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-fed2fe31-0451-4507-9871-550644150b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8e75a376-8fdd-414c-ab5f-19c304b06031 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/7abb11a4-6915-4167-b012-dcbad3ee1c27 {} DEBUG util.py:445: GOT:{'uuid': '7abb11a4-6915-4167-b012-dcbad3ee1c27', 'created_at': '2023-04-19T16:14:23.746362+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/7abb11a4-6915-4167-b012-dcbad3ee1c27', 'rel': 'self'}, {'href': 'http://localhost/allocations/7abb11a4-6915-4167-b012-dcbad3ee1c27', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/7abb11a4-6915-4167-b012-dcbad3ee1c27 {} DEBUG util.py:445: GOT:{'uuid': '7abb11a4-6915-4167-b012-dcbad3ee1c27', 'created_at': '2023-04-19T16:14:23.746362+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/7abb11a4-6915-4167-b012-dcbad3ee1c27', 'rel': 'self'}, {'href': 'http://localhost/allocations/7abb11a4-6915-4167-b012-dcbad3ee1c27', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/7b4839b4-9104-424d-9346-c6ebb8be442f {} DEBUG util.py:445: GOT:{'uuid': '7b4839b4-9104-424d-9346-c6ebb8be442f', 'created_at': '2023-04-19T16:14:23.948871+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/7b4839b4-9104-424d-9346-c6ebb8be442f', 'rel': 'self'}, {'href': 'http://localhost/allocations/7b4839b4-9104-424d-9346-c6ebb8be442f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/node/48c25a7b-576f-4f4a-b7d7-18ae202b5b13/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/node/c21d0813-7bfe-4787-97b3-9d5368b09240/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': '199ae441-fd85-4807-83ab-e7bd96a10d13', 'created_at': '2023-04-19T16:14:24.459199+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/199ae441-fd85-4807-83ab-e7bd96a10d13', 'rel': 'self'}, {'href': 'http://localhost/allocations/199ae441-fd85-4807-83ab-e7bd96a10d13', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '12296fe0-e5be-45aa-8393-1b6c8358197c', 'created_at': '2023-04-19T16:14:24.464800+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/12296fe0-e5be-45aa-8393-1b6c8358197c', 'rel': 'self'}, {'href': 'http://localhost/allocations/12296fe0-e5be-45aa-8393-1b6c8358197c', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '693a82c2-125e-44ab-a11e-fb70d7555d12', 'created_at': '2023-04-19T16:14:24.465876+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/693a82c2-125e-44ab-a11e-fb70d7555d12', 'rel': 'self'}, {'href': 'http://localhost/allocations/693a82c2-125e-44ab-a11e-fb70d7555d12', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=693a82c2-125e-44ab-a11e-fb70d7555d12'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/a8afa5f0-d14a-44d1-9f06-0cdfec294d91 {} 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=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '301b0273-3c29-494b-899f-1412a1e6c53e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/301b0273-3c29-494b-899f-1412a1e6c53e', 'rel': 'self'}, {'href': 'http://localhost/allocations/301b0273-3c29-494b-899f-1412a1e6c53e', 'rel': 'bookmark'}]}, {'uuid': 'eba4ea38-3194-4de3-9440-ebbd816bd21e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/eba4ea38-3194-4de3-9440-ebbd816bd21e', 'rel': 'self'}, {'href': 'http://localhost/allocations/eba4ea38-3194-4de3-9440-ebbd816bd21e', 'rel': 'bookmark'}]}, {'uuid': '58476dc9-d70f-4b0f-a222-7259a9cc9d80', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/58476dc9-d70f-4b0f-a222-7259a9cc9d80', 'rel': 'self'}, {'href': 'http://localhost/allocations/58476dc9-d70f-4b0f-a222-7259a9cc9d80', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/allocations/d23106fc-f20c-4d39-bc19-c6bfa42bb2ca {} DEBUG util.py:445: GOT:{'uuid': 'd23106fc-f20c-4d39-bc19-c6bfa42bb2ca', 'created_at': '2023-04-19T16:14:25.033707+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/d23106fc-f20c-4d39-bc19-c6bfa42bb2ca', 'rel': 'self'}, {'href': 'http://localhost/allocations/d23106fc-f20c-4d39-bc19-c6bfa42bb2ca', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/260c5b0d-72f4-492e-9173-6440502b68a5 {} DEBUG util.py:445: GOT:{'uuid': '260c5b0d-72f4-492e-9173-6440502b68a5', 'created_at': '2023-04-19T16:14:25.229374+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/260c5b0d-72f4-492e-9173-6440502b68a5', 'rel': 'self'}, {'href': 'http://localhost/allocations/260c5b0d-72f4-492e-9173-6440502b68a5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/260c5b0d-72f4-492e-9173-6440502b68a5 {} DEBUG util.py:445: GOT:{'uuid': '260c5b0d-72f4-492e-9173-6440502b68a5', 'created_at': '2023-04-19T16:14:25.229374+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/260c5b0d-72f4-492e-9173-6440502b68a5', 'rel': 'self'}, {'href': 'http://localhost/allocations/260c5b0d-72f4-492e-9173-6440502b68a5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /allocations/260c5b0d-72f4-492e-9173-6440502b68a5 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.333605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.133075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.136429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.130702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.175205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.176086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.117353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.057186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.186130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.091621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.150722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.201909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.347879s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/5da13511-6002-4362-af4a-b7f2e98e1428 DEBUG util.py:445: Openstack-Request-Id: req-4a5a1e4c-730c-43d0-b5a6-fc4ba0cf4e19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "5da13511-6002-4362-af4a-b7f2e98e1428", "created_at": "2023-04-19T16:14:24.793727+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/5da13511-6002-4362-af4a-b7f2e98e1428", "rel": "self"}, {"href": "http://localhost/allocations/5da13511-6002-4362-af4a-b7f2e98e1428", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/5da13511-6002-4362-af4a-b7f2e98e1428 {} DEBUG util.py:445: GOT:{'uuid': '5da13511-6002-4362-af4a-b7f2e98e1428', 'created_at': '2023-04-19T16:14:24.793727+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/5da13511-6002-4362-af4a-b7f2e98e1428', 'rel': 'self'}, {'href': 'http://localhost/allocations/5da13511-6002-4362-af4a-b7f2e98e1428', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8eaa225f-2df9-4602-b1fc-d83c1bd0e56a', 'owner': None, 'node': '8ddce42c-1586-44cc-a673-dff41cf7af1d'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bbc7dd4-e229-4fc8-8d59-b1f541bc9e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8ddce42c-1586-44cc-a673-dff41cf7af1d 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-5857ed71-cd36-4c1e-a6c0-9ea1fdf14c77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1b4f433c-913c-42db-b14d-d85f863a94bd', '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-8f7409aa-bafc-44ba-b4e5-7ef636928699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4408d6fe-845d-4d51-99cf-ae1339c2b3d6', '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-db8313c5-4b74-498e-b763-a539e9922b45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': '6c5bc4c4-1b83-4865-a2bd-9a53b1208b90', '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-23c5eb21-77bb-401f-8dfc-bdd3ce6823cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '1873db08-7e49-4716-a321-6f55fa730bc1', '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/1873db08-7e49-4716-a321-6f55fa730bc1 DEBUG util.py:445: Openstack-Request-Id: req-da210e2f-3560-40b1-af4b-688706be84b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1873db08-7e49-4716-a321-6f55fa730bc1", "created_at": "2023-04-19T16:14:25.359430+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/1873db08-7e49-4716-a321-6f55fa730bc1", "rel": "self"}, {"href": "http://localhost/allocations/1873db08-7e49-4716-a321-6f55fa730bc1", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1873db08-7e49-4716-a321-6f55fa730bc1 {} DEBUG util.py:445: GOT:{'uuid': '1873db08-7e49-4716-a321-6f55fa730bc1', 'created_at': '2023-04-19T16:14:25.359430+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/1873db08-7e49-4716-a321-6f55fa730bc1', 'rel': 'self'}, {'href': 'http://localhost/allocations/1873db08-7e49-4716-a321-6f55fa730bc1', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '1528bcfc-4963-4381-888f-4e8cc4c5fb38', '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-c7821333-d6a4-4b67-9c5e-8741a145c2e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'd27ddceb-973f-4d18-b96a-06ba6eb07f7f', '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-f3654451-1c52-4d44-a55a-41d981305d17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7db71884-070d-44fa-859e-bc90a852937c', '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': '586227f9-a5b9-4de4-9905-b0fc13a037ef', '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-766f6c3b-7752-4da2-b98d-e1186ad47b8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.213828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.129303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.125364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.162464s] ... ok DEBUG util.py:445: GOT:{'uuid': '5b637b56-41cb-4030-88e6-eeec3589fe4e', 'created_at': '2023-04-19T16:14:24.841470+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e {} DEBUG util.py:445: GOT:{'uuid': '5b637b56-41cb-4030-88e6-eeec3589fe4e', 'created_at': '2023-04-19T16:14:24.841470+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/5b637b56-41cb-4030-88e6-eeec3589fe4e/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253 {} DEBUG util.py:445: GOT:{'uuid': '85854dd4-aaab-425a-8f53-3a253a48b253', 'created_at': '2023-04-19T16:14:25.003448+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253 {} DEBUG util.py:445: GOT:{'uuid': '85854dd4-aaab-425a-8f53-3a253a48b253', 'created_at': '2023-04-19T16:14:25.003448+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/85854dd4-aaab-425a-8f53-3a253a48b253 {} DEBUG util.py:445: GOT:{'uuid': '85854dd4-aaab-425a-8f53-3a253a48b253', 'created_at': '2023-04-19T16:14:25.003448+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/85854dd4-aaab-425a-8f53-3a253a48b253/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-24679e84-744a-4e6b-8c58-4e693ca0ab91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-04-19T16:14:25.367811+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?sort_key=uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '2cd72d2e-391b-4e43-b59e-c51c61a1f12f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/2cd72d2e-391b-4e43-b59e-c51c61a1f12f', 'rel': 'self'}, {'href': 'http://localhost/chassis/2cd72d2e-391b-4e43-b59e-c51c61a1f12f', 'rel': 'bookmark'}]}, {'uuid': '45226679-3290-49ce-9722-83a84f5ddbb3', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/45226679-3290-49ce-9722-83a84f5ddbb3', 'rel': 'self'}, {'href': 'http://localhost/chassis/45226679-3290-49ce-9722-83a84f5ddbb3', 'rel': 'bookmark'}]}, {'uuid': '779603a1-465e-481d-8774-dbf2de03bb95', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/779603a1-465e-481d-8774-dbf2de03bb95', 'rel': 'self'}, {'href': 'http://localhost/chassis/779603a1-465e-481d-8774-dbf2de03bb95', 'rel': 'bookmark'}]}]} 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-2d1344e5-7cb0-4bbc-aac3-c72d8e8ea96e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/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-6b56b7ef-2b22-4ce6-9b8f-2fc690d45429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-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': 'амо'} 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-d0205c9a-b629-4e26-9727-5f1ee6a26e8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:26.014178+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-04-19T16:14:26.014178+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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.065049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.262677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.064635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.056142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.266252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.105138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.073504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.039243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.038315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.157905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.093387s] ... ok DEBUG util.py:445: GOT:{'uuid': 'd39c7896-7266-40f9-ae70-d1604af01edc', 'created_at': '2023-04-19T16:14:25.124299+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/d39c7896-7266-40f9-ae70-d1604af01edc', 'rel': 'self'}, {'href': 'http://localhost/allocations/d39c7896-7266-40f9-ae70-d1604af01edc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '510d9582-db5a-4afe-b4a5-21f9bdccb913', 'created_at': '2023-04-19T16:14:25.387649+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/510d9582-db5a-4afe-b4a5-21f9bdccb913', 'rel': 'self'}, {'href': 'http://localhost/allocations/510d9582-db5a-4afe-b4a5-21f9bdccb913', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6e9951af-bf2e-4d3c-91dd-a47216dafbde', 'created_at': '2023-04-19T16:14:25.401348+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/6e9951af-bf2e-4d3c-91dd-a47216dafbde', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e9951af-bf2e-4d3c-91dd-a47216dafbde', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '22773385-4424-47eb-9a66-9eae5d196ae0', 'created_at': '2023-04-19T16:14:25.411013+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/22773385-4424-47eb-9a66-9eae5d196ae0', 'rel': 'self'}, {'href': 'http://localhost/allocations/22773385-4424-47eb-9a66-9eae5d196ae0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '33bf8241-67cb-499f-898b-54727c35d631', 'created_at': '2023-04-19T16:14:25.412545+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/33bf8241-67cb-499f-898b-54727c35d631', 'rel': 'self'}, {'href': 'http://localhost/allocations/33bf8241-67cb-499f-898b-54727c35d631', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0209ed56-9666-400a-bacb-1b22181e24fb', 'created_at': '2023-04-19T16:14:25.420212+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/0209ed56-9666-400a-bacb-1b22181e24fb', 'rel': 'self'}, {'href': 'http://localhost/allocations/0209ed56-9666-400a-bacb-1b22181e24fb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '8c08e3c1-4374-4cef-adfc-7f90c9ff189a', 'created_at': '2023-04-19T16:14:25.567804+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/8c08e3c1-4374-4cef-adfc-7f90c9ff189a', 'rel': 'self'}, {'href': 'http://localhost/allocations/8c08e3c1-4374-4cef-adfc-7f90c9ff189a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations?sort_key=name {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '5d975c14-3b8c-4c73-9a42-70dc2f35573b', 'created_at': '2023-04-19T16:14:25.743837+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/5d975c14-3b8c-4c73-9a42-70dc2f35573b', 'rel': 'self'}, {'href': 'http://localhost/allocations/5d975c14-3b8c-4c73-9a42-70dc2f35573b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4003c03a-562a-4e85-8ffe-9bb90ccbae41', 'created_at': '2023-04-19T16:14:25.733663+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/4003c03a-562a-4e85-8ffe-9bb90ccbae41', 'rel': 'self'}, {'href': 'http://localhost/allocations/4003c03a-562a-4e85-8ffe-9bb90ccbae41', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'a147e776-8b77-48d0-98c3-4456e1b2ec1b', 'created_at': '2023-04-19T16:14:25.722844+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/a147e776-8b77-48d0-98c3-4456e1b2ec1b', 'rel': 'self'}, {'href': 'http://localhost/allocations/a147e776-8b77-48d0-98c3-4456e1b2ec1b', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: PATCH: /v1/allocations/7fcdef46-18fa-4e29-8c57-1c75ca162490 [{'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-ddec73d0-f2ce-41ff-be4d-9091bcbd20a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7fcdef46-18fa-4e29-8c57-1c75ca162490", "created_at": "2023-04-19T16:14:25.816603+00:00", "updated_at": "2023-04-19T16:14:25.838058+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/7fcdef46-18fa-4e29-8c57-1c75ca162490", "rel": "self"}, {"href": "http://localhost/allocations/7fcdef46-18fa-4e29-8c57-1c75ca162490", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/7fcdef46-18fa-4e29-8c57-1c75ca162490 {} DEBUG util.py:445: GOT:{'uuid': '7fcdef46-18fa-4e29-8c57-1c75ca162490', 'created_at': '2023-04-19T16:14:25.816603+00:00', 'updated_at': '2023-04-19T16:14:25.838058+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/7fcdef46-18fa-4e29-8c57-1c75ca162490', 'rel': 'self'}, {'href': 'http://localhost/allocations/7fcdef46-18fa-4e29-8c57-1c75ca162490', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/94c43348-6d11-4866-8d6f-23f56dd33fd3 [{'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-5355329b-3dca-460a-b372-50593ee5a24e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/ecc0b9e7-e5fb-48b7-b1a3-c5c1e7ac58b5 [{'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-d2249420-4a64-4f12-8e0c-c1360f219e54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/776c232b-ad76-4b7d-942f-87b931c4ffb1 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.290199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.122272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.039329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.082831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.089014s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2b1e3703-e074-4ab4-8764-7d84af58fa5d', '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/2b1e3703-e074-4ab4-8764-7d84af58fa5d DEBUG util.py:445: Openstack-Request-Id: req-b74650ea-4b2b-4506-bb20-7ef3ef601669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "2b1e3703-e074-4ab4-8764-7d84af58fa5d", "created_at": "2023-04-19T16:14:25.972463+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/2b1e3703-e074-4ab4-8764-7d84af58fa5d", "rel": "self"}, {"href": "http://localhost/allocations/2b1e3703-e074-4ab4-8764-7d84af58fa5d", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/2b1e3703-e074-4ab4-8764-7d84af58fa5d {} DEBUG util.py:445: GOT:{'uuid': '2b1e3703-e074-4ab4-8764-7d84af58fa5d', 'created_at': '2023-04-19T16:14:25.972463+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/2b1e3703-e074-4ab4-8764-7d84af58fa5d', 'rel': 'self'}, {'href': 'http://localhost/allocations/2b1e3703-e074-4ab4-8764-7d84af58fa5d', '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-6897ae99-21dd-419c-b7fc-3613fa5a4bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-f7dcf703-ebeb-428b-bda4-f76e00804238 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/725e8fa5-09ab-432e-8d64-f8779ac04fdc DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e644eab-8cba-4466-a30a-badfff92c5ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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 725e8fa5-09ab-432e-8d64-f8779ac04fdc 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-0f377b6c-0706-4acb-804d-cf5e75bc3003 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/?limit=3 {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '4726bd65-0cac-411e-84fa-801b40aea50a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/4726bd65-0cac-411e-84fa-801b40aea50a', 'rel': 'self'}, {'href': 'http://localhost/chassis/4726bd65-0cac-411e-84fa-801b40aea50a', 'rel': 'bookmark'}]}, {'uuid': 'e4b4b174-6d82-4fb9-84f0-6bba686da4f8', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e4b4b174-6d82-4fb9-84f0-6bba686da4f8', 'rel': 'self'}, {'href': 'http://localhost/chassis/e4b4b174-6d82-4fb9-84f0-6bba686da4f8', 'rel': 'bookmark'}]}, {'uuid': '8a9a91fe-a2c3-41f7-b900-9758e5f5157c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8a9a91fe-a2c3-41f7-b900-9758e5f5157c', 'rel': 'self'}, {'href': 'http://localhost/chassis/8a9a91fe-a2c3-41f7-b900-9758e5f5157c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=8a9a91fe-a2c3-41f7-b900-9758e5f5157c'} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'cbfbb927-6307-4734-b0ec-57cbc9463ac8', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cbfbb927-6307-4734-b0ec-57cbc9463ac8', 'rel': 'self'}, {'href': 'http://localhost/chassis/cbfbb927-6307-4734-b0ec-57cbc9463ac8', 'rel': 'bookmark'}]}, {'uuid': 'dcae54a4-1a42-4931-a02b-4c4091be25d5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/dcae54a4-1a42-4931-a02b-4c4091be25d5', 'rel': 'self'}, {'href': 'http://localhost/chassis/dcae54a4-1a42-4931-a02b-4c4091be25d5', 'rel': 'bookmark'}]}, {'uuid': 'ea6994cb-f06e-4a4a-97fc-b6fb1e0ef9c5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ea6994cb-f06e-4a4a-97fc-b6fb1e0ef9c5', 'rel': 'self'}, {'href': 'http://localhost/chassis/ea6994cb-f06e-4a4a-97fc-b6fb1e0ef9c5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=ea6994cb-f06e-4a4a-97fc-b6fb1e0ef9c5'} 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/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-4444d690-08a4-4e9b-820f-823482546c21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/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-0c4b9a83-728b-4063-bf3c-bc24a7d0d39e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:26.567676+00:00", "updated_at": "2023-04-19T16:14:26.596061+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-04-19T16:14:26.567676+00:00', 'updated_at': '2023-04-19T16:14:26.596061+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/4f883741-011f-4451-8d42-5165459ce964 [{'path': '/extra/foo2', 'op': 'remove'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.095493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.070856s] ... ok DEBUG util.py:445: GOT:{'uuid': '260c5b0d-72f4-492e-9173-6440502b68a5', 'created_at': '2023-04-19T16:14:25.229374+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/260c5b0d-72f4-492e-9173-6440502b68a5', 'rel': 'self'}, {'href': 'http://localhost/allocations/260c5b0d-72f4-492e-9173-6440502b68a5', '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-13e981c6-3760-4200-b8d8-3a97c15ea53f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a320febb-53c4-4571-8f13-779ec05b10ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b9cefbb4-6803-4afb-b6e0-0b2027019606 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b99414a0-ac14-4a9d-821a-ab94be1f4b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/d0b91ea3-08aa-4237-907d-a1488421b54b [{'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-81920d04-30d8-4588-af4c-59e86934dafc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d0b91ea3-08aa-4237-907d-a1488421b54b", "created_at": "2023-04-19T16:14:25.637445+00:00", "updated_at": "2023-04-19T16:14:25.688582+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/d0b91ea3-08aa-4237-907d-a1488421b54b", "rel": "self"}, {"href": "http://localhost/allocations/d0b91ea3-08aa-4237-907d-a1488421b54b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: PATCH: /v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16 [{'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-85238a86-d2ef-49b0-99a7-e1bf74781afa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "created_at": "2023-04-19T16:14:25.806785+00:00", "updated_at": "2023-04-19T16:14:25.917657+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/0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "rel": "self"}, {"href": "http://localhost/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16 {} DEBUG util.py:445: GOT:{'uuid': '0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'created_at': '2023-04-19T16:14:25.806785+00:00', 'updated_at': '2023-04-19T16:14:25.917657+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/0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'rel': 'self'}, {'href': 'http://localhost/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16 [{'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-1c3c14b5-1a88-4b0d-b426-8acd36a155d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "created_at": "2023-04-19T16:14:25.806785+00:00", "updated_at": "2023-04-19T16:14:26.009717+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "rel": "self"}, {"href": "http://localhost/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16 {} DEBUG util.py:445: GOT:{'uuid': '0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'created_at': '2023-04-19T16:14:25.806785+00:00', 'updated_at': '2023-04-19T16:14:26.009717+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'rel': 'self'}, {'href': 'http://localhost/allocations/0d419c88-1f09-4f5b-bd12-e7f6e3369c16', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/401223d5-218b-4dff-b7fd-9b5a4c52b116 [{'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-542a69a7-5825-4c85-9669-f667fb830615 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/6265d984-5b48-44d0-a8a4-b9f4e16814b5 [{'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-54bdd889-4ed9-4dd9-b158-e3eb3b19100c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6265d984-5b48-44d0-a8a4-b9f4e16814b5", "created_at": "2023-04-19T16:14:26.359327+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/6265d984-5b48-44d0-a8a4-b9f4e16814b5", "rel": "self"}, {"href": "http://localhost/allocations/6265d984-5b48-44d0-a8a4-b9f4e16814b5", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/6265d984-5b48-44d0-a8a4-b9f4e16814b5 {} DEBUG util.py:445: GOT:{'uuid': '6265d984-5b48-44d0-a8a4-b9f4e16814b5', 'created_at': '2023-04-19T16:14:26.359327+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/6265d984-5b48-44d0-a8a4-b9f4e16814b5', 'rel': 'self'}, {'href': 'http://localhost/allocations/6265d984-5b48-44d0-a8a4-b9f4e16814b5', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.144811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.161510s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.141170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.131856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.076161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.085699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.146994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.124372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.198315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.116530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.077849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.160643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.085801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.155388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.145442s] ... 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-0b93350a-f3ad-4921-a3b9-7ecf01f934e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "776c232b-ad76-4b7d-942f-87b931c4ffb1", "created_at": "2023-04-19T16:14:26.308004+00:00", "updated_at": "2023-04-19T16:14:26.370509+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/776c232b-ad76-4b7d-942f-87b931c4ffb1", "rel": "self"}, {"href": "http://localhost/allocations/776c232b-ad76-4b7d-942f-87b931c4ffb1", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/776c232b-ad76-4b7d-942f-87b931c4ffb1 {} DEBUG util.py:445: GOT:{'uuid': '776c232b-ad76-4b7d-942f-87b931c4ffb1', 'created_at': '2023-04-19T16:14:26.308004+00:00', 'updated_at': '2023-04-19T16:14:26.370509+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/776c232b-ad76-4b7d-942f-87b931c4ffb1', 'rel': 'self'}, {'href': 'http://localhost/allocations/776c232b-ad76-4b7d-942f-87b931c4ffb1', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/46a549cc-97ae-4d3c-be1d-8f5a22bb9601 [{'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-a8094334-7915-4e07-8762-7e0dc4d83064 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/d3835b8b-7621-4e92-8cfe-c6a8c080de11 [{'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-8e333019-560a-404a-b582-52e1ee916276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d3835b8b-7621-4e92-8cfe-c6a8c080de11 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ca68d587-8009-468e-a53d-25c1d2e53a9a', '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/ca68d587-8009-468e-a53d-25c1d2e53a9a DEBUG util.py:445: Openstack-Request-Id: req-f2dde4e9-c2bf-4ff2-9dbd-6903ae9170c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ca68d587-8009-468e-a53d-25c1d2e53a9a", "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/ca68d587-8009-468e-a53d-25c1d2e53a9a", "rel": "self"}, {"href": "http://localhost/allocations/ca68d587-8009-468e-a53d-25c1d2e53a9a", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/ca68d587-8009-468e-a53d-25c1d2e53a9a {} DEBUG util.py:445: GOT:{'uuid': 'ca68d587-8009-468e-a53d-25c1d2e53a9a', '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/ca68d587-8009-468e-a53d-25c1d2e53a9a', 'rel': 'self'}, {'href': 'http://localhost/allocations/ca68d587-8009-468e-a53d-25c1d2e53a9a', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b DEBUG util.py:445: Openstack-Request-Id: req-f89a67c9-8c5d-48cf-ad86-6b8fbe9fb362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ef7add1-a7b0-4c3f-8d51-20e59af9de8b", "created_at": "2023-04-19T16:14:26.780949+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/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b", "rel": "self"}, {"href": "http://localhost/allocations/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b {} DEBUG util.py:445: GOT:{'uuid': '1ef7add1-a7b0-4c3f-8d51-20e59af9de8b', 'created_at': '2023-04-19T16:14:26.780949+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/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b', 'rel': 'self'}, {'href': 'http://localhost/allocations/1ef7add1-a7b0-4c3f-8d51-20e59af9de8b', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': 'e8758dcb-9b0a-4d40-bbf5-ee3a2387eb27', '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-8d4f642c-7c2e-4c1d-a448-b550e1a752f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fddffb7e-86b2-47a2-9e78-a9f347aec328', '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/fddffb7e-86b2-47a2-9e78-a9f347aec328 DEBUG util.py:445: Openstack-Request-Id: req-313b1d13-30e9-41aa-bfad-33fb8b8b1ad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "fddffb7e-86b2-47a2-9e78-a9f347aec328", "created_at": "2023-04-19T16:14:27.035048+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/fddffb7e-86b2-47a2-9e78-a9f347aec328", "rel": "self"}, {"href": "http://localhost/allocations/fddffb7e-86b2-47a2-9e78-a9f347aec328", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/fddffb7e-86b2-47a2-9e78-a9f347aec328 {} DEBUG util.py:445: GOT:{'uuid': 'fddffb7e-86b2-47a2-9e78-a9f347aec328', 'created_at': '2023-04-19T16:14:27.035048+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/fddffb7e-86b2-47a2-9e78-a9f347aec328', 'rel': 'self'}, {'href': 'http://localhost/allocations/fddffb7e-86b2-47a2-9e78-a9f347aec328', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f919ca26-a87e-4d2d-a10c-abebbe15001f', 'owner': '12345'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.079499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.085033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.118285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.133733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.095859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.093972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.111715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.091544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.134276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.071826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.097660s] ... 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-f8fd3478-a69b-4b9c-a3bd-776316229a4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "4f883741-011f-4451-8d42-5165459ce964", "created_at": "2023-04-19T16:14:26.640775+00:00", "updated_at": "2023-04-19T16:14:26.649839+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964", "rel": "self"}, {"href": "http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes", "rel": "self"}, {"href": "http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/4f883741-011f-4451-8d42-5165459ce964 {} DEBUG util.py:445: GOT:{'uuid': '4f883741-011f-4451-8d42-5165459ce964', 'created_at': '2023-04-19T16:14:26.640775+00:00', 'updated_at': '2023-04-19T16:14:26.649839+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964', 'rel': 'self'}, {'href': 'http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/4f883741-011f-4451-8d42-5165459ce964 [{'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-a0f22d9a-3245-426b-bdf9-98cf6a483fb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "4f883741-011f-4451-8d42-5165459ce964", "created_at": "2023-04-19T16:14:26.640775+00:00", "updated_at": "2023-04-19T16:14:26.687207+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964", "rel": "self"}, {"href": "http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes", "rel": "self"}, {"href": "http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/4f883741-011f-4451-8d42-5165459ce964 {} DEBUG util.py:445: GOT:{'uuid': '4f883741-011f-4451-8d42-5165459ce964', 'created_at': '2023-04-19T16:14:26.640775+00:00', 'updated_at': '2023-04-19T16:14:26.687207+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964', 'rel': 'self'}, {'href': 'http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/4f883741-011f-4451-8d42-5165459ce964/nodes', 'rel': 'bookmark'}]]} 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-e1ff0bd9-1b16-475a-b4a4-578ef10cb961 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:26.750293+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-04-19T16:14:26.750293+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-9b1f36a0-f176-4708-ac96-dcdaafe68be5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:26.840028+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-04-19T16:14:26.840028+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': '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-4030fc93-06d9-4d35-9e94-70d0249891d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-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: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': []} 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-9bb9346e-7d23-4201-8dce-3ace6a873c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-04-19T16:14:27.331749+00:00', 'updated_at': '2023-04-19T16:14:27.331515+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: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.103194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.081265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.115734s] ... ok DEBUG util.py:445: PATCH: /v1/allocations/e2175cf4-5794-487e-8b5a-f06bd56e6d5c [{'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-6ecf23ee-25c4-46d4-9e42-5222185aee6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e2175cf4-5794-487e-8b5a-f06bd56e6d5c", "created_at": "2023-04-19T16:14:26.558318+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/e2175cf4-5794-487e-8b5a-f06bd56e6d5c", "rel": "self"}, {"href": "http://localhost/allocations/e2175cf4-5794-487e-8b5a-f06bd56e6d5c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/e2175cf4-5794-487e-8b5a-f06bd56e6d5c {} DEBUG util.py:445: GOT:{'uuid': 'e2175cf4-5794-487e-8b5a-f06bd56e6d5c', 'created_at': '2023-04-19T16:14:26.558318+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/e2175cf4-5794-487e-8b5a-f06bd56e6d5c', 'rel': 'self'}, {'href': 'http://localhost/allocations/e2175cf4-5794-487e-8b5a-f06bd56e6d5c', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd7a85f90-cddb-4d64-91a0-42916e803fbf', '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-77212124-8020-4fa6-8440-69a7db70aef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '6c38c7ac-6807-4cb8-a28e-a959e8cd7ee7', 'owner': None} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8ab42d76-71c6-4b43-8696-4248c68bcbcd', '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-d4831cd7-d37f-4d04-b910-a019a566c5fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '11c5cfeb-958c-41cc-9ad9-9a65ecaa6442', '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/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442 DEBUG util.py:445: Openstack-Request-Id: req-5d7d81e4-8789-42b4-8443-4dd0d5d65db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "11c5cfeb-958c-41cc-9ad9-9a65ecaa6442", "created_at": "2023-04-19T16:14:27.156564+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/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442", "rel": "self"}, {"href": "http://localhost/allocations/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442 {} DEBUG util.py:445: GOT:{'uuid': '11c5cfeb-958c-41cc-9ad9-9a65ecaa6442', 'created_at': '2023-04-19T16:14:27.156564+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/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442', 'rel': 'self'}, {'href': 'http://localhost/allocations/11c5cfeb-958c-41cc-9ad9-9a65ecaa6442', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': 'fd17a91d-b32c-4ac1-89c7-65d0c4c07dd1', '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-929eb216-7db7-487b-bc9a-5d3cebb7935f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['node-1', 'af39e02a-1db1-42e3-97a9-4b99a9484d54'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4babd075-2bbd-4c17-bed3-ecb68c7cc61d', '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/4babd075-2bbd-4c17-bed3-ecb68c7cc61d DEBUG util.py:445: Openstack-Request-Id: req-460f3bcc-28ec-4585-8d3c-a5b91abe57a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4babd075-2bbd-4c17-bed3-ecb68c7cc61d", "created_at": "2023-04-19T16:14:27.401401+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "af39e02a-1db1-42e3-97a9-4b99a9484d54"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4babd075-2bbd-4c17-bed3-ecb68c7cc61d", "rel": "self"}, {"href": "http://localhost/allocations/4babd075-2bbd-4c17-bed3-ecb68c7cc61d", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/4babd075-2bbd-4c17-bed3-ecb68c7cc61d {} DEBUG util.py:445: GOT:{'uuid': '4babd075-2bbd-4c17-bed3-ecb68c7cc61d', 'created_at': '2023-04-19T16:14:27.401401+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'af39e02a-1db1-42e3-97a9-4b99a9484d54'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4babd075-2bbd-4c17-bed3-ecb68c7cc61d', 'rel': 'self'}, {'href': 'http://localhost/allocations/4babd075-2bbd-4c17-bed3-ecb68c7cc61d', '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': 'e2b48c6c-b20a-4658-9117-c280d762fd90', '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/e2b48c6c-b20a-4658-9117-c280d762fd90 DEBUG util.py:445: Openstack-Request-Id: req-6663727c-c6a3-4ab0-a19a-881263ac615c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e2b48c6c-b20a-4658-9117-c280d762fd90", "created_at": "2023-04-19T16:14:27.450390+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/e2b48c6c-b20a-4658-9117-c280d762fd90", "rel": "self"}, {"href": "http://localhost/allocations/e2b48c6c-b20a-4658-9117-c280d762fd90", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/e2b48c6c-b20a-4658-9117-c280d762fd90 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.060220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.069039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.045053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.150264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.149260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.203578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.116066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.072715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.068593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.112217s] ... ok 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-4044146c-3126-4d99-9dc2-62d92da1046b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'stein.rocks', 'links': [{'href': 'http://localhost/v1/conductors/stein.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/stein.rocks', 'rel': 'bookmark'}], 'alive': True}]} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07a2bed6-3666-4ddc-ac11-38ae972562b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b47c4b1d-597c-4ac2-a008-85ca5208c965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?sort_key=hostname {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '47e4533f-bc93-495e-a406-4fca4aac5aac', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/47e4533f-bc93-495e-a406-4fca4aac5aac', 'rel': 'self'}, {'href': 'http://localhost/conductors/47e4533f-bc93-495e-a406-4fca4aac5aac', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '77167dac-6dab-4fba-8bdb-73c702b1c20b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/77167dac-6dab-4fba-8bdb-73c702b1c20b', 'rel': 'self'}, {'href': 'http://localhost/conductors/77167dac-6dab-4fba-8bdb-73c702b1c20b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '7a411987-374b-4b9d-97dc-fa969dadfeab', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/7a411987-374b-4b9d-97dc-fa969dadfeab', 'rel': 'self'}, {'href': 'http://localhost/conductors/7a411987-374b-4b9d-97dc-fa969dadfeab', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'a29a45e2-d6a0-4ec2-9f01-aac790728f3d', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/a29a45e2-d6a0-4ec2-9f01-aac790728f3d', 'rel': 'self'}, {'href': 'http://localhost/conductors/a29a45e2-d6a0-4ec2-9f01-aac790728f3d', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'd73d0212-bae4-40fe-b7a8-086eb823902e', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/d73d0212-bae4-40fe-b7a8-086eb823902e', 'rel': 'self'}, {'href': 'http://localhost/conductors/d73d0212-bae4-40fe-b7a8-086eb823902e', '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-02bf51ec-5d9a-4df3-9788-46c364fefab7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: DELETE: /v1/deploy_templates/6db1ef94-69af-4443-a9a3-bbd08ead3f86 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: 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?detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '920db1b1-036c-4faf-81b8-73c543936e4f', 'created_at': '2023-04-19T16:14:27.409125+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/920db1b1-036c-4faf-81b8-73c543936e4f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/920db1b1-036c-4faf-81b8-73c543936e4f', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=uuid {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '49893674-9cff-41f0-b11c-14c0ca2723f0', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/49893674-9cff-41f0-b11c-14c0ca2723f0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49893674-9cff-41f0-b11c-14c0ca2723f0', 'rel': 'bookmark'}]}, {'uuid': '90a37f60-d7b4-4c33-8e10-e45d8a5d4f8c', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/90a37f60-d7b4-4c33-8e10-e45d8a5d4f8c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/90a37f60-d7b4-4c33-8e10-e45d8a5d4f8c', 'rel': 'bookmark'}]}, {'uuid': 'b979ad73-62b1-49d9-8544-d7a12c44db1b', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/b979ad73-62b1-49d9-8544-d7a12c44db1b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b979ad73-62b1-49d9-8544-d7a12c44db1b', '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-9f4a4339-c17b-47cb-b381-71a14de155c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7938c49f-2cd7-40bb-8537-551be1e39bc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9016c6fd-3546-4e5b-aa87-90e2dac9a328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/233675df-3e66-4c87-a662-fba4791c27a7 [{'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-bfd63fec-6081-4bb1-a980-fa3223093bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/d5e710f6-a32a-4801-95c2-836de9e1ce5e [{'path': '/non-existent', 'op': 'remove'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.100244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.110856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.192682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.131880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.059038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.099280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.039126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.117451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.042034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.059150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.801380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.189584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.061514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.056180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.235961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.059722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.185694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.044002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.074452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.046472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.094938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.039733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.124129s] ... ok DEBUG util.py:445: GOT:{'uuid': 'e2b48c6c-b20a-4658-9117-c280d762fd90', 'created_at': '2023-04-19T16:14:27.450390+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/e2b48c6c-b20a-4658-9117-c280d762fd90', 'rel': 'self'}, {'href': 'http://localhost/allocations/e2b48c6c-b20a-4658-9117-c280d762fd90', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '288c1098-ea29-446f-bd1e-359b75cf0eb6', '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-9c5bb85e-bbee-4fd9-a13d-e806181515a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '374498a5-f8fc-4807-a2a9-b4358fddf064', '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/374498a5-f8fc-4807-a2a9-b4358fddf064 DEBUG util.py:445: Openstack-Request-Id: req-93d05b5f-040c-44db-83e1-d0d3eb76be83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "374498a5-f8fc-4807-a2a9-b4358fddf064", "created_at": "2023-04-19T16:14:27.721577+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/374498a5-f8fc-4807-a2a9-b4358fddf064", "rel": "self"}, {"href": "http://localhost/allocations/374498a5-f8fc-4807-a2a9-b4358fddf064", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/374498a5-f8fc-4807-a2a9-b4358fddf064 {} DEBUG util.py:445: GOT:{'uuid': '374498a5-f8fc-4807-a2a9-b4358fddf064', 'created_at': '2023-04-19T16:14:27.721577+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/374498a5-f8fc-4807-a2a9-b4358fddf064', 'rel': 'self'}, {'href': 'http://localhost/allocations/374498a5-f8fc-4807-a2a9-b4358fddf064', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'aca8b62a-c5a7-44e4-a164-4369b2ff20ec'} 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/aca8b62a-c5a7-44e4-a164-4369b2ff20ec DEBUG util.py:445: Openstack-Request-Id: req-3f80e625-6eff-4397-9cfb-834b6b10e989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "aca8b62a-c5a7-44e4-a164-4369b2ff20ec", "created_at": "2023-04-19T16:14:27.816230+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/aca8b62a-c5a7-44e4-a164-4369b2ff20ec", "rel": "self"}, {"href": "http://localhost/allocations/aca8b62a-c5a7-44e4-a164-4369b2ff20ec", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/aca8b62a-c5a7-44e4-a164-4369b2ff20ec {} DEBUG util.py:445: GOT:{'uuid': 'aca8b62a-c5a7-44e4-a164-4369b2ff20ec', 'created_at': '2023-04-19T16:14:27.816230+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/aca8b62a-c5a7-44e4-a164-4369b2ff20ec', 'rel': 'self'}, {'href': 'http://localhost/allocations/aca8b62a-c5a7-44e4-a164-4369b2ff20ec', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-04-19T16:14:27.885141+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/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-f1a50c01-2ecf-425a-aef8-343685902050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-04-19T16:14:28.094766+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': 'b7301fc2-680b-4f28-98da-cedcc0b29ae5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b7301fc2-680b-4f28-98da-cedcc0b29ae5', 'rel': 'self'}, {'href': 'http://localhost/chassis/b7301fc2-680b-4f28-98da-cedcc0b29ae5', 'rel': 'bookmark'}]}, {'uuid': '0bba5058-b237-4605-baec-9274a262ea68', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/0bba5058-b237-4605-baec-9274a262ea68', 'rel': 'self'}, {'href': 'http://localhost/chassis/0bba5058-b237-4605-baec-9274a262ea68', 'rel': 'bookmark'}]}, {'uuid': 'c1d6fea1-36b5-4f05-a399-2373396ffbb4', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c1d6fea1-36b5-4f05-a399-2373396ffbb4', 'rel': 'self'}, {'href': 'http://localhost/chassis/c1d6fea1-36b5-4f05-a399-2373396ffbb4', 'rel': 'bookmark'}]}, {'uuid': '39e7bddc-7762-45d7-bbbf-69f7125d635f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/39e7bddc-7762-45d7-bbbf-69f7125d635f', 'rel': 'self'}, {'href': 'http://localhost/chassis/39e7bddc-7762-45d7-bbbf-69f7125d635f', 'rel': 'bookmark'}]}, {'uuid': '7b428a5d-0e2c-4103-ac65-07ee5adbd810', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7b428a5d-0e2c-4103-ac65-07ee5adbd810', 'rel': 'self'}, {'href': 'http://localhost/chassis/7b428a5d-0e2c-4103-ac65-07ee5adbd810', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.217197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.056417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.038129s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c90ed73-2dc1-44f7-9359-585e017023da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '696589ef-75a8-41b9-bc58-1a528d3f06a4', '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/696589ef-75a8-41b9-bc58-1a528d3f06a4 DEBUG util.py:445: Openstack-Request-Id: req-fe62294c-18d0-44d9-8a9e-f6568af63430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "696589ef-75a8-41b9-bc58-1a528d3f06a4", "created_at": "2023-04-19T16:14:27.248828+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/696589ef-75a8-41b9-bc58-1a528d3f06a4", "rel": "self"}, {"href": "http://localhost/allocations/696589ef-75a8-41b9-bc58-1a528d3f06a4", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/696589ef-75a8-41b9-bc58-1a528d3f06a4 {} DEBUG util.py:445: GOT:{'uuid': '696589ef-75a8-41b9-bc58-1a528d3f06a4', 'created_at': '2023-04-19T16:14:27.248828+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/696589ef-75a8-41b9-bc58-1a528d3f06a4', 'rel': 'self'}, {'href': 'http://localhost/allocations/696589ef-75a8-41b9-bc58-1a528d3f06a4', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '280ca416-fc40-4bab-9487-9222350ed90f', '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/280ca416-fc40-4bab-9487-9222350ed90f DEBUG util.py:445: Openstack-Request-Id: req-00ca4355-f2c8-465e-9ca6-6aad46fa7cd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "280ca416-fc40-4bab-9487-9222350ed90f", "created_at": "2023-04-19T16:14:27.363481+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/280ca416-fc40-4bab-9487-9222350ed90f", "rel": "self"}, {"href": "http://localhost/allocations/280ca416-fc40-4bab-9487-9222350ed90f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a5124a95-59cd-4b1c-8e51-0b12d27f55da', '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-9ca687e0-2563-45ec-bdb5-9c9b27217986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=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-b1b52f65-aa36-43e8-9643-b981c0f9c4cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=False&fields=description {} DEBUG util.py:445: GOT:{'chassis': [{'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} 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-b77b8cea-13f4-4fdc-8da4-4fcd49675baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-04-19T16:14:28.025268+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=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-3ffb6000-d909-49b9-975f-6e370aa9e87f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-67678c77-5995-4ee8-a698-de7b8af8be69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4077e567-1135-4093-a12f-ab2eb12ff41f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:28.482201+00:00", "updated_at": "2023-04-19T16:14:28.499583+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': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.090210s] ... 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-14f0e23e-7de0-41b5-ae04-741ee2d3a432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/908836c3-1a87-4b74-bc38-d99ae4e85756 [{'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-c6fb13e0-0fad-4d70-9ff3-26ffc0876268 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/09c957b7-6d7b-4d31-be9d-12939b7557ee [{'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-7e715396-eb3c-48ab-a34b-f20d373bec2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/dcbc5f83-4df9-405f-af24-3d7b9e8234cd [{'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: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e6ffacb8-a51d-4e3c-bf72-93d17af0fed3', '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-657b7126-0c10-40b5-96ff-ebaff10711a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 42, 'uuid': '2e3c400c-8689-43ec-b90d-8e06de5e01be', '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-830d939d-2ff4-4c7a-b49c-ef68f9dabfcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '969f9c0d-651d-41eb-ace7-738dbfcd0a85', '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-2a3e166a-f473-4a0b-8526-6cdecc942647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'fa50985b-5185-4fd6-95d5-7631eaa3a2f4', '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-03e2c96e-14be-4d80-86bb-c0be7873b04c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '95938fe4-b3d5-4656-90e6-be9711b7e418', '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-8b35b6ac-bcb8-4d8c-b4e3-2da123f7ff79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': 'd5769cae-c847-4068-b664-94e1e29b5711', '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-425b0ad0-ea3f-469c-bfd3-0f105c90b01a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '274f5d13-a21e-4b34-91ff-b8e68381c3a2', '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-3021088b-163d-4222-9dd9-444610f61c07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2e372143-b396-4cd5-8099-b2206d297fe5', '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-91eb007d-7fbe-4e70-af0a-8fb3a765248a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8dd9f316-3022-421c-8a52-63373ae489c2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.085160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.117705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.164194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.159549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.047019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.185458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.082706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.081842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.158823s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.065847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.134315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.123967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.063794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.070985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.107190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.147672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.043809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.173129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.184718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.097868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.116665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.050077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.052463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.035053s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2f30a026-2365-4e24-a741-9318c965e153', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2f30a026-2365-4e24-a741-9318c965e153', 'rel': 'self'}, {'href': 'http://localhost/nodes/2f30a026-2365-4e24-a741-9318c965e153', 'rel': 'bookmark'}]}, {'uuid': 'd6f81ca9-2846-490d-803d-8e90c46276eb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d6f81ca9-2846-490d-803d-8e90c46276eb', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f81ca9-2846-490d-803d-8e90c46276eb', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2f30a026-2365-4e24-a741-9318c965e153', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2f30a026-2365-4e24-a741-9318c965e153', 'rel': 'self'}, {'href': 'http://localhost/nodes/2f30a026-2365-4e24-a741-9318c965e153', '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=2f30a026-2365-4e24-a741-9318c965e153'} 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-84fd9637-15cb-4db0-bb3d-d126062578c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: 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-e55a946b-bf54-4323-b6d1-547729dade9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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': {}, '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-64471205-c71d-4c27-a01d-6c894df63e8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: 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-70f959a4-9930-4218-a117-701d182c10b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:28.860103+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-04-19T16:14:28.860103+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/conductors/?limit=3 {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '55b5178f-d8f6-44a4-8391-f7780ef915da', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/55b5178f-d8f6-44a4-8391-f7780ef915da', 'rel': 'self'}, {'href': 'http://localhost/conductors/55b5178f-d8f6-44a4-8391-f7780ef915da', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '995c47c0-9381-4938-948f-d3817817d25a', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/995c47c0-9381-4938-948f-d3817817d25a', 'rel': 'self'}, {'href': 'http://localhost/conductors/995c47c0-9381-4938-948f-d3817817d25a', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5f538a62-8ad2-499e-8be9-abc8cd6d927c', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5f538a62-8ad2-499e-8be9-abc8cd6d927c', 'rel': 'self'}, {'href': 'http://localhost/conductors/5f538a62-8ad2-499e-8be9-abc8cd6d927c', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=5f538a62-8ad2-499e-8be9-abc8cd6d927c'} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.109330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.067849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.090636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.178781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.127728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.085943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.063864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.112641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.124694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.165688s] ... 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-d606355f-6375-4bd2-947f-e2ef45421cef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2 [{'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-3c8661f7-0213-4402-abc5-fb255943a5d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "c235f4fc-c7ff-409d-a8c1-ad5b51a080a2", "created_at": "2023-04-19T16:14:28.670335+00:00", "updated_at": "2023-04-19T16:14:28.722394+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2", "rel": "self"}, {"href": "http://localhost/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2 {} DEBUG util.py:445: GOT:{'uuid': 'c235f4fc-c7ff-409d-a8c1-ad5b51a080a2', 'created_at': '2023-04-19T16:14:28.670335+00:00', 'updated_at': '2023-04-19T16:14:28.722394+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2', 'rel': 'self'}, {'href': 'http://localhost/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c235f4fc-c7ff-409d-a8c1-ad5b51a080a2/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-c5fd8aed-603a-4b3e-9451-4546a11b8d14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/10a3ed71-4520-492c-ad1a-51320735cfaa [{'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-ef0e1bc8-79f1-4934-b34e-93f050967ebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "10a3ed71-4520-492c-ad1a-51320735cfaa", "created_at": "2023-04-19T16:14:28.928512+00:00", "updated_at": "2023-04-19T16:14:28.955632+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa", "rel": "self"}, {"href": "http://localhost/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa/nodes", "rel": "self"}, {"href": "http://localhost/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa {} DEBUG util.py:445: GOT:{'uuid': '10a3ed71-4520-492c-ad1a-51320735cfaa', 'created_at': '2023-04-19T16:14:28.928512+00:00', 'updated_at': '2023-04-19T16:14:28.955632+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa', 'rel': 'self'}, {'href': 'http://localhost/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/10a3ed71-4520-492c-ad1a-51320735cfaa/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/cb19bcdb-5c92-4a51-89a4-5321a0a8e070 [{'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-ad210f02-105d-4192-88c3-e061da646713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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 cb19bcdb-5c92-4a51-89a4-5321a0a8e070 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'extra': {}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/df501728-a4e0-4b8c-9155-064acaf034cf DEBUG util.py:445: Openstack-Request-Id: req-8709d522-ab68-41e7-88bb-62cae24fb9d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "df501728-a4e0-4b8c-9155-064acaf034cf", "created_at": "2023-04-19T16:14:29.106688+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/df501728-a4e0-4b8c-9155-064acaf034cf", "rel": "self"}, {"href": "http://localhost/chassis/df501728-a4e0-4b8c-9155-064acaf034cf", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/df501728-a4e0-4b8c-9155-064acaf034cf/nodes", "rel": "self"}, {"href": "http://localhost/chassis/df501728-a4e0-4b8c-9155-064acaf034cf/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'df501728-a4e0-4b8c-9155-064acaf034cf', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/df501728-a4e0-4b8c-9155-064acaf034cf', 'rel': 'self'}, {'href': 'http://localhost/chassis/df501728-a4e0-4b8c-9155-064acaf034cf', '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-09b48b21-aa38-403c-b74b-96c6d0d5cf46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '6d7f3721-fb0b-4080-854f-9e2a2be6f3c6', 'links': [{'href': 'http://localhost/v1/conductors/6d7f3721-fb0b-4080-854f-9e2a2be6f3c6', 'rel': 'self'}, {'href': 'http://localhost/conductors/6d7f3721-fb0b-4080-854f-9e2a2be6f3c6', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '6daa878f-0d57-45b6-90bf-5838343aaf2b', 'links': [{'href': 'http://localhost/v1/conductors/6daa878f-0d57-45b6-90bf-5838343aaf2b', 'rel': 'self'}, {'href': 'http://localhost/conductors/6daa878f-0d57-45b6-90bf-5838343aaf2b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '496437a9-e291-493d-8107-839a351fc61c', 'links': [{'href': 'http://localhost/v1/conductors/496437a9-e291-493d-8107-839a351fc61c', 'rel': 'self'}, {'href': 'http://localhost/conductors/496437a9-e291-493d-8107-839a351fc61c', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=496437a9-e291-493d-8107-839a351fc61c'} 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: DELETE: /v1/deploy_templates/blah DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.148331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.092834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.178812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.181301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.137168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.057366s] ... ok DEBUG util.py:445: GOT:{'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': False} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-04-19T16:14:28.132884+00:00', 'updated_at': '2023-04-19T16:14:28.132657+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-04-19T16:14:28.132884+00:00', 'updated_at': '2023-04-19T16:14:28.132657+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-04-19T16:14:28.132884+00:00', 'updated_at': '2023-04-19T16:14:28.132657+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-04-19T16:14:28.500958+00:00', 'updated_at': '2023-04-19T16:14:28.500719+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-04-19T16:14:28.502482+00:00', 'updated_at': '2023-04-19T16:14:28.502333+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 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-416b9447-3019-4a63-9b2c-2f10a7edf0d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '3314c435-459d-415a-ba64-d32937399fbe', 'links': [{'href': 'http://localhost/v1/deploy_templates/3314c435-459d-415a-ba64-d32937399fbe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3314c435-459d-415a-ba64-d32937399fbe', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '6caa6d8e-693c-4aea-9a0e-57698134e86d', 'links': [{'href': 'http://localhost/v1/deploy_templates/6caa6d8e-693c-4aea-9a0e-57698134e86d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6caa6d8e-693c-4aea-9a0e-57698134e86d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '0045c4b7-f863-4aed-aeaa-ef4a8b4cbac6', 'links': [{'href': 'http://localhost/v1/deploy_templates/0045c4b7-f863-4aed-aeaa-ef4a8b4cbac6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0045c4b7-f863-4aed-aeaa-ef4a8b4cbac6', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=0045c4b7-f863-4aed-aeaa-ef4a8b4cbac6'} 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-8f77e9a5-6474-4253-a985-d2e79e34a0c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/c634759e-c908-4f24-9c1d-c51cc6a13481', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c634759e-c908-4f24-9c1d-c51cc6a13481', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '4cd636ad-7ec0-4bb2-bef6-efd662c992ed', 'links': [{'href': 'http://localhost/v1/deploy_templates/4cd636ad-7ec0-4bb2-bef6-efd662c992ed', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4cd636ad-7ec0-4bb2-bef6-efd662c992ed', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '2a8ad4a2-9a56-4ff9-b360-fa4bfec1a969', 'links': [{'href': 'http://localhost/v1/deploy_templates/2a8ad4a2-9a56-4ff9-b360-fa4bfec1a969', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2a8ad4a2-9a56-4ff9-b360-fa4bfec1a969', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'b4de18d2-149c-4920-ba73-5ad7db9dd7c1', 'links': [{'href': 'http://localhost/v1/deploy_templates/b4de18d2-149c-4920-ba73-5ad7db9dd7c1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b4de18d2-149c-4920-ba73-5ad7db9dd7c1', '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/f6712b9f-fce5-405d-895e-b4b217fce77c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f6712b9f-fce5-405d-895e-b4b217fce77c', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/762879f9-6870-44cf-a77c-0663434f0aae', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/762879f9-6870-44cf-a77c-0663434f0aae', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=762879f9-6870-44cf-a77c-0663434f0aae'} DEBUG util.py:445: GET: /v1/deploy_templates/f058a0ad-bf3e-4391-b8ce-0d411bf21527 {} 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/3854ce67-3603-4d0a-a903-806d67577257.json {} DEBUG util.py:445: GOT:{'uuid': '3854ce67-3603-4d0a-a903-806d67577257', 'created_at': '2023-04-19T16:14:29.585283+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/3854ce67-3603-4d0a-a903-806d67577257', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3854ce67-3603-4d0a-a903-806d67577257', '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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.155067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.152143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.150368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.238233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.556185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.022290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.053567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.043184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.234904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.172945s] ... 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/deploy_templates/8dd9f316-3022-421c-8a52-63373ae489c2 DEBUG util.py:445: Openstack-Request-Id: req-ed6d031b-d1f4-478b-9f37-35dd41996f2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "8dd9f316-3022-421c-8a52-63373ae489c2", "created_at": "2023-04-19T16:14:28.628591+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8dd9f316-3022-421c-8a52-63373ae489c2", "rel": "self"}, {"href": "http://localhost/deploy_templates/8dd9f316-3022-421c-8a52-63373ae489c2", "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/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-3a6eaa52-644d-4b03-8a94-ff14b7823f14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-c29edad8-b2e2-4d39-9710-0f153c7d95a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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/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-4e60c77d-e314-4e54-bc63-90dfb68890ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-9f33b8b0-6e6a-4d69-92b7-7cffc402df4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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 {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts&detail=false {} 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?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-d3f8c42b-a40b-44a3-bfb7-46a121b9a4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} 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: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.074959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.062760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.114603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.047536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.093584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.178413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.196805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.076020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.074424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.113654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.077368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.058278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.126333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.083082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.087082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.065547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.042129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.137252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.094752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.153577s] ... ok DEBUG util.py:445: GOT:{'conductors': [{'hostname': '5109aeb5-9f3f-4443-a6ff-a243a115af92', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5109aeb5-9f3f-4443-a6ff-a243a115af92', 'rel': 'self'}, {'href': 'http://localhost/conductors/5109aeb5-9f3f-4443-a6ff-a243a115af92', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '40d8c257-8521-46e2-a424-e6f604a356ab', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/40d8c257-8521-46e2-a424-e6f604a356ab', 'rel': 'self'}, {'href': 'http://localhost/conductors/40d8c257-8521-46e2-a424-e6f604a356ab', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'b2c7ab95-b074-4969-a406-e97e39c39c1b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/b2c7ab95-b074-4969-a406-e97e39c39c1b', 'rel': 'self'}, {'href': 'http://localhost/conductors/b2c7ab95-b074-4969-a406-e97e39c39c1b', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=b2c7ab95-b074-4969-a406-e97e39c39c1b'} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-04-19T16:14:29.322048+00:00', 'updated_at': '2023-04-19T16:14:29.321750+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-04-19T16:14:29.322048+00:00', 'updated_at': '2023-04-19T16:14:29.321750+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-04-19T16:14:29.322048+00:00', 'updated_at': '2023-04-19T16:14:29.321750+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /v1/conductors?sort_key=alive {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-299f97c3-174c-4be1-a68e-3a685e5d2d9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0817c4af-9286-45fc-ba8d-b2732725f54f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: GET: /v1/deploy_templates/?limit=3 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '8711f9b2-bf65-40ba-9a28-11392a9d46eb', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/8711f9b2-bf65-40ba-9a28-11392a9d46eb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8711f9b2-bf65-40ba-9a28-11392a9d46eb', 'rel': 'bookmark'}]}, {'uuid': '070e386e-f587-43a8-bc35-37a821e57131', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/070e386e-f587-43a8-bc35-37a821e57131', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/070e386e-f587-43a8-bc35-37a821e57131', 'rel': 'bookmark'}]}, {'uuid': '3640e1c2-ad21-49cc-a63c-e1ba68b108cb', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/3640e1c2-ad21-49cc-a63c-e1ba68b108cb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3640e1c2-ad21-49cc-a63c-e1ba68b108cb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=3640e1c2-ad21-49cc-a63c-e1ba68b108cb'} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'ba60f232-518c-43ef-ae4a-1b94bb1a76ad', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/ba60f232-518c-43ef-ae4a-1b94bb1a76ad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ba60f232-518c-43ef-ae4a-1b94bb1a76ad', 'rel': 'bookmark'}]}, {'uuid': '1a7d66a1-8584-416e-a8c9-d5ead199da7d', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1a7d66a1-8584-416e-a8c9-d5ead199da7d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1a7d66a1-8584-416e-a8c9-d5ead199da7d', 'rel': 'bookmark'}]}, {'uuid': '23ca813a-a8d5-4c4a-a176-686e831aa334', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/23ca813a-a8d5-4c4a-a176-686e831aa334', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/23ca813a-a8d5-4c4a-a176-686e831aa334', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=23ca813a-a8d5-4c4a-a176-686e831aa334'} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '832dba8f-9524-4926-ab81-ce3d1a8cbbaa', 'created_at': '2023-04-19T16:14:29.783602+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/832dba8f-9524-4926-ab81-ce3d1a8cbbaa', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/832dba8f-9524-4926-ab81-ce3d1a8cbbaa', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '16fad3a7-96bf-45df-a39a-6382e946f012', 'created_at': '2023-04-19T16:14:29.780306+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/16fad3a7-96bf-45df-a39a-6382e946f012', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/16fad3a7-96bf-45df-a39a-6382e946f012', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'a0601384-2ffb-4488-9ec3-4d92560a16c0', 'created_at': '2023-04-19T16:14:29.755823+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/a0601384-2ffb-4488-9ec3-4d92560a16c0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a0601384-2ffb-4488-9ec3-4d92560a16c0', '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: 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/7159c5c9-f29b-4b56-91b0-123f9c04cd27 {} DEBUG util.py:445: GOT:{'uuid': '7159c5c9-f29b-4b56-91b0-123f9c04cd27', 'created_at': '2023-04-19T16:14:30.176846+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7159c5c9-f29b-4b56-91b0-123f9c04cd27', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7159c5c9-f29b-4b56-91b0-123f9c04cd27', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/c8c0a723-7c69-414f-bc66-0132e89ac304?fields=name,steps {} DEBUG util.py:445: GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/c8c0a723-7c69-414f-bc66-0132e89ac304', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c8c0a723-7c69-414f-bc66-0132e89ac304', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/2ce39700-43d9-41c2-a457-3deb7a32db01 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.243592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.131480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.102521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.090259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.099545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.396723s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.032946s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.065709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.055933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.099175s] ... ok DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'aaa8c335-9212-4262-a6d1-515f386f4678', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/aaa8c335-9212-4262-a6d1-515f386f4678', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/aaa8c335-9212-4262-a6d1-515f386f4678', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/033f7f1f-15d5-465a-9ea3-13e4653337d6 [{'path': '/foo', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fde9e15-c1f6-4d82-b542-ca2f46e2aa7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/8bc81d48-004c-47c0-843d-54b3d1eb3293 [{'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-001f76b4-e712-4378-bf7a-05e88899fa19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "8bc81d48-004c-47c0-843d-54b3d1eb3293", "created_at": "2023-04-19T16:14:30.095564+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8bc81d48-004c-47c0-843d-54b3d1eb3293", "rel": "self"}, {"href": "http://localhost/deploy_templates/8bc81d48-004c-47c0-843d-54b3d1eb3293", "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/ba921db0-efe5-40cd-9d10-c3e54bcde9ba [{'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-90a7c8b1-54ad-4bad-a6fd-3f5b2d008ea9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/3c826357-08bb-4c2e-84fb-c17cbabd9dbf [{'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-8bf6db19-9c6b-41aa-a7f4-1806f0c609c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/b5181fe8-51b1-440c-89de-49ccf8cd76a7 [{'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-7efb9514-4ce0-44ed-b99a-211f591b9bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/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-8745adfe-6b65-4571-82df-1f02d05104b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "bb8d68ff-ed03-4dd5-82cb-ac53b5f6b59e", "created_at": "2023-04-19T16:14:30.659428+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bb8d68ff-ed03-4dd5-82cb-ac53b5f6b59e", "rel": "self"}, {"href": "http://localhost/deploy_templates/bb8d68ff-ed03-4dd5-82cb-ac53b5f6b59e", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} 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-d94bcc78-e0d8-498e-872a-7b30f75dd046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c35a6e72-90ab-4614-b3b7-19554be6dc57", "created_at": "2023-04-19T16:14:30.744423+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c35a6e72-90ab-4614-b3b7-19554be6dc57", "rel": "self"}, {"href": "http://localhost/deploy_templates/c35a6e72-90ab-4614-b3b7-19554be6dc57", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/fe70d631-2ce1-4a6c-8384-112ea047c5a0 [{'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-0faf4c1a-b58c-431f-886e-5c3d02776e3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "fe70d631-2ce1-4a6c-8384-112ea047c5a0", "created_at": "2023-04-19T16:14:30.863873+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fe70d631-2ce1-4a6c-8384-112ea047c5a0", "rel": "self"}, {"href": "http://localhost/deploy_templates/fe70d631-2ce1-4a6c-8384-112ea047c5a0", "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': '4b3708a7-2e1a-4b75-b0fa-b037cbc5bcb1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f2935b1-04b1-429a-ae6a-b197319fcc24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5 DEBUG util.py:445: Openstack-Request-Id: req-a321b04f-e9d0-461a-823b-b25204812171 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "461c2546-ed4b-4b83-b155-53f59ce85dd5", "created_at": "2023-04-19T16:14:31.150711+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5", "rel": "self"}, {"href": "http://localhost/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.173143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.035627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.147511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.116093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.136059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.066424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.108244s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.186419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.120022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.117414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.050911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.087836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [1.009712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.073365s] ... ok DEBUG util.py:445: GOT:{'uuid': '2ce39700-43d9-41c2-a457-3deb7a32db01', 'created_at': '2023-04-19T16:14:30.527871+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/2ce39700-43d9-41c2-a457-3deb7a32db01', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2ce39700-43d9-41c2-a457-3deb7a32db01', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964 {} DEBUG util.py:445: GOT:{'uuid': '76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'created_at': '2023-04-19T16:14:30.880604+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964 {} DEBUG util.py:445: GOT:{'uuid': '76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'created_at': '2023-04-19T16:14:30.880604+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964 {} DEBUG util.py:445: GOT:{'uuid': '76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'created_at': '2023-04-19T16:14:30.880604+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/76b1fa04-6bb2-4084-b6f8-a6fe0097c964', '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': 'f490a47d-77f9-406d-a84a-c788cb68c49e', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/f490a47d-77f9-406d-a84a-c788cb68c49e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f490a47d-77f9-406d-a84a-c788cb68c49e', 'rel': 'bookmark'}]}, {'uuid': '6f2749ce-b1e2-4019-b9d5-6b31b6f80032', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/6f2749ce-b1e2-4019-b9d5-6b31b6f80032', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6f2749ce-b1e2-4019-b9d5-6b31b6f80032', 'rel': 'bookmark'}]}, {'uuid': 'a8ac04c0-5f39-4710-a657-c4e1bb58b253', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/a8ac04c0-5f39-4710-a657-c4e1bb58b253', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a8ac04c0-5f39-4710-a657-c4e1bb58b253', 'rel': 'bookmark'}]}, {'uuid': 'c51b1ec2-ff2c-438a-922d-2c40f083bf94', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/c51b1ec2-ff2c-438a-922d-2c40f083bf94', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c51b1ec2-ff2c-438a-922d-2c40f083bf94', 'rel': 'bookmark'}]}, {'uuid': 'b625d9e5-3bc4-4a47-9143-fc2fe7612252', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/b625d9e5-3bc4-4a47-9143-fc2fe7612252', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b625d9e5-3bc4-4a47-9143-fc2fe7612252', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/243355de-4675-476f-b3ce-fcc241ca2469 {} DEBUG util.py:445: GOT:{'uuid': '243355de-4675-476f-b3ce-fcc241ca2469', 'created_at': '2023-04-19T16:14:31.163023+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/243355de-4675-476f-b3ce-fcc241ca2469', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/243355de-4675-476f-b3ce-fcc241ca2469', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/05697d91-63b0-4b22-8236-5af2b24ce612 [{'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-09b71dad-1cc2-40d5-b433-f2bbe6648d25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/74080d0c-6e1e-4330-9c5c-9713c5449897 [{'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-7f73d421-9131-4698-9828-18ffc6832494 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "74080d0c-6e1e-4330-9c5c-9713c5449897", "created_at": "2023-04-19T16:14:31.395831+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/74080d0c-6e1e-4330-9c5c-9713c5449897", "rel": "self"}, {"href": "http://localhost/deploy_templates/74080d0c-6e1e-4330-9c5c-9713c5449897", "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/394ccfa9-a1ee-4ae6-9943-74361d63359c [{'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-47835db4-5106-40a9-806b-87905a729774 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 394ccfa9-a1ee-4ae6-9943-74361d63359c already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/86327cef-e0f6-4707-b70f-93da9110e664 [{'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-4f971b8a-d48a-4465-adde-62adf05539ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "86327cef-e0f6-4707-b70f-93da9110e664", "created_at": "2023-04-19T16:14:31.587824+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/86327cef-e0f6-4707-b70f-93da9110e664", "rel": "self"}, {"href": "http://localhost/deploy_templates/86327cef-e0f6-4707-b70f-93da9110e664", "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': '73085cc4-746b-46d0-9bec-440febe5eb3c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.042276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.045987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.272952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.057671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.047673s] ... 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-d4c4feaf-1596-4102-b4e1-d6ce90d24754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/52b5869d-9f86-4afd-bf4e-66f64c48c80e DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c46fc615-f2d7-4218-9aa0-78e1f6ffc1f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: DELETE: /v1/deploy_templates/647cdad8-de9a-4d53-89de-d8e235de5933.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5ec1f86e-98c9-4dc4-8c66-a858d70ad149 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '26d5c7b0-6649-4a48-8dde-112f371d2aad', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/26d5c7b0-6649-4a48-8dde-112f371d2aad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/26d5c7b0-6649-4a48-8dde-112f371d2aad', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '26d5c7b0-6649-4a48-8dde-112f371d2aad', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/26d5c7b0-6649-4a48-8dde-112f371d2aad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/26d5c7b0-6649-4a48-8dde-112f371d2aad', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/edea957c-abb4-468b-bc3c-2ae48a22e8f6?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-03ce98bb-4e94-43be-9057-19288488a14c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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?sort_key=name&detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '72bce356-ec4e-49e2-9d51-6ad43a2d7726', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/72bce356-ec4e-49e2-9d51-6ad43a2d7726', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/72bce356-ec4e-49e2-9d51-6ad43a2d7726', 'rel': 'bookmark'}]}, {'uuid': '3ed00c94-5b9e-4edf-8252-7a804149d323', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/3ed00c94-5b9e-4edf-8252-7a804149d323', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3ed00c94-5b9e-4edf-8252-7a804149d323', 'rel': 'bookmark'}]}, {'uuid': '57ba70d2-3e78-4094-a56d-2aee70b0d31e', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/57ba70d2-3e78-4094-a56d-2aee70b0d31e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/57ba70d2-3e78-4094-a56d-2aee70b0d31e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/3d55ac4b-2edf-4774-9643-5f01d46f6a28 [{'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-a21804b5-a776-4864-9626-46ba8a8a8b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3d55ac4b-2edf-4774-9643-5f01d46f6a28", "created_at": "2023-04-19T16:14:30.225604+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3d55ac4b-2edf-4774-9643-5f01d46f6a28", "rel": "self"}, {"href": "http://localhost/deploy_templates/3d55ac4b-2edf-4774-9643-5f01d46f6a28", "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/4be534c2-3b3d-4422-9e6b-d78e305f5707 [{'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-22dbe2e5-7504-4f14-bfd6-747ad28ce6fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/1b0402ef-09b2-40d5-b291-7ef5186a9c9c [{'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-fbaab95d-2ff2-4603-a97b-ba6ce07862fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/fdbe9d7f-f49f-476d-b293-0cd016ec69ec [{'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-2286bbc9-4667-45e3-91fd-83bd6bf72e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/ef84c155-95ef-4719-afa5-6e8f1cc13ffa [{'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-6b207229-8c18-41f1-9758-dfcbe7853046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/514c88e1-4dbe-4d9f-94e1-f06621399030 [{'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-7eb9b104-e187-4a42-8529-9ba0c2193de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/8127e814-6381-4c5e-a76e-a31be4b90ed0 [{'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-e7939faf-6f46-4d14-bdac-a8902b5ae2ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.205149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.030392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.044944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.060908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.062297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.129101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.052697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.068952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.079097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.058829s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.171670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.105057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.291045s] ... ok DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': '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-fa64881b-4a6f-49f1-a342-5e68d111f115 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b8872127-54ef-4822-be15-f43efdb1968c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-189fc401-5dd0-44ea-9de4-5bc021c7e99c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/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-0f6c8498-1e4d-4dce-ac4a-fac134124792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for id: invalid%id^\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '839577df-8ab2-450f-b52a-3cf480805e59'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb666fad-be82-4723-82c8-a031006f1a43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'e838572b-de93-4119-bb90-a2e72b265ef3', '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-0a891363-411a-47f8-8c69-6d6d42d3559e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: DELETE: /v1/nodes/node-39/vifs/7066d09a-5e5e-499d-898c-d3f8b19c6bbf DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-707f1fd6-5069-41fa-a315-e773038731cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2023-04-19T16:14:30.778267+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40a7161e-ffb6-4e76-af13-24a80b202693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid detail: Unrecognized value 'True?fields=name,read_only', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-da5d82fa-1f28-4c19-b6e1-54708292a863 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-4b697992-ef9a-4e20-b549-6171ee05d78a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '7906c461-c458-4a90-95dd-addb8510fe27', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7906c461-c458-4a90-95dd-addb8510fe27', 'rel': 'self'}, {'href': 'http://localhost/nodes/7906c461-c458-4a90-95dd-addb8510fe27', 'rel': 'bookmark'}]}, {'uuid': '6a2e76f5-5a75-4b04-b963-2136e11e84f9', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6a2e76f5-5a75-4b04-b963-2136e11e84f9', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a2e76f5-5a75-4b04-b963-2136e11e84f9', 'rel': 'bookmark'}]}, {'uuid': 'da7a2a5c-d993-4f0d-be70-4308f0ef56a3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/da7a2a5c-d993-4f0d-be70-4308f0ef56a3', 'rel': 'self'}, {'href': 'http://localhost/nodes/da7a2a5c-d993-4f0d-be70-4308f0ef56a3', '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=da7a2a5c-d993-4f0d-be70-4308f0ef56a3'} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} DEBUG util.py:445: GOT:{'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.113836s] ... ok DEBUG util.py:445: GOT:{'uuid': '461c2546-ed4b-4b83-b155-53f59ce85dd5', 'created_at': '2023-04-19T16:14:31.150711+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/461c2546-ed4b-4b83-b155-53f59ce85dd5', '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': '6713bb17-e0ca-443f-aee7-10f069df77a9', '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': 'cb1c2d34-0452-4bc9-bdd4-df6120d2d730', '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-2bb04416-8a29-414e-b3a4-3b952eb2f24d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': None, 'uuid': 'e3748f99-1d56-466f-9181-255392f17e1a', '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-79a2f24e-0001-4e44-96a7-0c2a7b6bc325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2baef03c-f446-4921-9f58-699bd0df96e3', '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-5807f480-bc8c-4d91-89bb-8e47d889d675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b56712ef-9a52-407f-8192-6964c6b5b885', '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-6bda63cf-0113-440b-9f1d-d947b29b9544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '33d813e1-55ee-4fbf-96a5-9600a5429de6', '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/33d813e1-55ee-4fbf-96a5-9600a5429de6 DEBUG util.py:445: Openstack-Request-Id: req-56c4ef8f-f4d2-4540-b075-aef00781dd93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "33d813e1-55ee-4fbf-96a5-9600a5429de6", "created_at": "2023-04-19T16:14:31.700256+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/33d813e1-55ee-4fbf-96a5-9600a5429de6", "rel": "self"}, {"href": "http://localhost/deploy_templates/33d813e1-55ee-4fbf-96a5-9600a5429de6", "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': '2f5047ca-5bec-472a-a400-78c96bb06860', '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-a4d6ef8a-4f71-430d-9b8c-bca7f1944218 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f5ac9831-251a-48c2-b06d-b450fda9e755', '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-771fa2bf-7957-4b32-9c27-acc3a896043e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b09b2897-ce0d-4327-b3af-0e2872001644', '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-6adb8db5-f254-4382-af88-c3dcb9b68d9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '67d24102-20d3-4f8e-9ab3-5b2ed79c9562', '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-f8ed47a3-a2c8-4e56-95e0-fbc987def274 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '4efd273f-14e4-4fa5-9cbe-36ab11a8ffc5', '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/4efd273f-14e4-4fa5-9cbe-36ab11a8ffc5 DEBUG util.py:445: Openstack-Request-Id: req-036f5f56-5cf9-4370-b004-a28a18b9f55a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4efd273f-14e4-4fa5-9cbe-36ab11a8ffc5", "created_at": "2023-04-19T16:14:31.996568+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4efd273f-14e4-4fa5-9cbe-36ab11a8ffc5", "rel": "self"}, {"href": "http://localhost/deploy_templates/4efd273f-14e4-4fa5-9cbe-36ab11a8ffc5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.145369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.147371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.043933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.216191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.215185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.125023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.411205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.135720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.116704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.232541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.045440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.313129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.075794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.049239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.104820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.159846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.095399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.141672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.053344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.071333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.064677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.067584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.143250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.074515s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.118004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.057299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.052131s] ... 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/deploy_templates/73085cc4-746b-46d0-9bec-440febe5eb3c DEBUG util.py:445: Openstack-Request-Id: req-e6612677-0edb-46c0-be52-93f7de45a5c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "73085cc4-746b-46d0-9bec-440febe5eb3c", "created_at": "2023-04-19T16:14:31.643558+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/73085cc4-746b-46d0-9bec-440febe5eb3c", "rel": "self"}, {"href": "http://localhost/deploy_templates/73085cc4-746b-46d0-9bec-440febe5eb3c", "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': '518f5733-fcbe-469d-adc4-c14a5c565926', '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/518f5733-fcbe-469d-adc4-c14a5c565926 DEBUG util.py:445: Openstack-Request-Id: req-97aa8ad3-0a1f-4965-884a-6ae21cfb5c3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "518f5733-fcbe-469d-adc4-c14a5c565926", "created_at": "2023-04-19T16:14:31.685463+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/518f5733-fcbe-469d-adc4-c14a5c565926", "rel": "self"}, {"href": "http://localhost/deploy_templates/518f5733-fcbe-469d-adc4-c14a5c565926", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/518f5733-fcbe-469d-adc4-c14a5c565926 {} DEBUG util.py:445: GOT:{'uuid': '518f5733-fcbe-469d-adc4-c14a5c565926', 'created_at': '2023-04-19T16:14:31.685463+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/518f5733-fcbe-469d-adc4-c14a5c565926', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/518f5733-fcbe-469d-adc4-c14a5c565926', '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': 'e8e7462c-5168-415f-9068-df94199056b6', '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-c2d975a4-4af9-4156-921c-ccb0d075c464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '03170243-ebfe-4f68-82d7-2777c74b9423', '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-89a2cab4-598b-49f2-b62f-70c3dce67e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '54be68b3-d4af-4580-bc64-1060610af5e6', '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-96bd1998-9831-49f3-bdd9-2e7832db1cdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'uuid': '335b8ab7-a43a-424a-93a4-ac084ad35980', '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-2edc9710-5896-40b2-9be7-21458d200113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} 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-e319bd87-48a7-4e27-b5b8-e63516ef518b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: 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-2342b619-754a-4b1f-b224-08627e92ad79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/drivers?detail=true&fields=name,hosts {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f07fa25-52b6-4089-9bea-e1188d333805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?detail=False {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b2f25e4-eb4e-4240-b6f0-606e3860bed4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} DEBUG util.py:445: GOT:{'drivers': []} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-553c5d51-aa86-4863-8f86-09cb4b5086da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2da0f862-4e94-4b3e-ac3a-391ee252d999 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], '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?fields=name,invalid {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.103385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.057004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.070232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.072130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.056133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.113578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.099746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.084826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.077500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.034643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.029325s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.358301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.037730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.131173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.088177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.136324s] ... ok 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-b8136e0a-ab4b-40d3-9feb-f57a5c76eccc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/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?fields=uuid,instance_info {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8ec0ee09-c61e-49e7-9336-766eed621a8e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/8ec0ee09-c61e-49e7-9336-766eed621a8e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8ec0ee09-c61e-49e7-9336-766eed621a8e', 'rel': 'bookmark'}]}, {'uuid': 'da59bc9b-41ca-4362-a3e1-fa9d6a19fc27', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/da59bc9b-41ca-4362-a3e1-fa9d6a19fc27', 'rel': 'self'}, {'href': 'http://localhost/nodes/da59bc9b-41ca-4362-a3e1-fa9d6a19fc27', 'rel': 'bookmark'}]}, {'uuid': 'b83021a4-2751-429d-abb5-762bb1e8ea12', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/b83021a4-2751-429d-abb5-762bb1e8ea12', 'rel': 'self'}, {'href': 'http://localhost/nodes/b83021a4-2751-429d-abb5-762bb1e8ea12', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/spam/states/console {} DEBUG util.py:445: GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53e2fbd1-0869-48a2-8a52-8395d801a0b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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:{'state': 'on'} 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/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-5716da88-8064-4360-b26d-a2604836d571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8d3ed84-fd1e-427d-b6ac-ef0ecd015d55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-2fb83fb9-16d2-4840-a588-2c4e36b66d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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=ipmi {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '50307b68-b67b-4658-82ae-35ed9a85f1a2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/50307b68-b67b-4658-82ae-35ed9a85f1a2', 'rel': 'self'}, {'href': 'http://localhost/nodes/50307b68-b67b-4658-82ae-35ed9a85f1a2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=fake-hardware {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'a352ce9b-3988-413e-93ea-50e46b268276', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a352ce9b-3988-413e-93ea-50e46b268276', 'rel': 'self'}, {'href': 'http://localhost/nodes/a352ce9b-3988-413e-93ea-50e46b268276', 'rel': 'bookmark'}]}]} 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-3e9dc044-1f6e-47df-a43f-e010b847a639 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': 'd31bb663-6c8b-459e-8197-2882bbae1297', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d31bb663-6c8b-459e-8197-2882bbae1297', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '83fc0332-c2da-4906-a07e-a959de582bc2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/83fc0332-c2da-4906-a07e-a959de582bc2', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.258999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.074490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.169178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.330284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.134249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.076848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.096499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.090788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.081122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.055808s] ... 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.048382s] ... ok DEBUG util.py:445: PATCH: /v1/deploy_templates/fdfed7f5-775b-4093-b0c7-09e7137a7551 [{'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-c23adc67-86a2-46e4-beec-f78c47b7070e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/3589bc37-a612-4ee4-888d-8407fe6591c4 [{'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-5f9b9ab2-0844-4a3b-95f9-9265f9c1a1be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/54e1365b-ffba-4f21-a3f7-483b28cc07e3 [{'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-b49fddd4-d097-4f8f-b109-70c43e3ea75b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/c87d6729-18b1-4ce0-91b2-b44837ee00cf [{'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-df00cf3f-5914-4e7c-b882-48239ec14f36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c87d6729-18b1-4ce0-91b2-b44837ee00cf", "created_at": "2023-04-19T16:14:32.396836+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c87d6729-18b1-4ce0-91b2-b44837ee00cf", "rel": "self"}, {"href": "http://localhost/deploy_templates/c87d6729-18b1-4ce0-91b2-b44837ee00cf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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/8ffd8495-f737-4bb4-a49d-4557329da8ff [{'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-767f1481-9ed1-4583-b765-fe5115fd45f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/65c989d9-4f98-4110-85f1-5808128a97ec [{'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-ce303caa-18c5-4adc-a6b8-6ad6143c62ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 65c989d9-4f98-4110-85f1-5808128a97ec could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '004d08f6-8829-4448-b107-c4f062c4e5de', '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/004d08f6-8829-4448-b107-c4f062c4e5de DEBUG util.py:445: Openstack-Request-Id: req-e8771aee-3972-4bed-aeae-78ea79c64947 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "004d08f6-8829-4448-b107-c4f062c4e5de", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/004d08f6-8829-4448-b107-c4f062c4e5de", "rel": "self"}, {"href": "http://localhost/deploy_templates/004d08f6-8829-4448-b107-c4f062c4e5de", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/004d08f6-8829-4448-b107-c4f062c4e5de {} DEBUG util.py:445: GOT:{'uuid': '004d08f6-8829-4448-b107-c4f062c4e5de', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/004d08f6-8829-4448-b107-c4f062c4e5de', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/004d08f6-8829-4448-b107-c4f062c4e5de', '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': 'e71bb21d-59a7-4a3e-802e-326334627eab', '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-ae4f65ab-0d67-4c73-847d-d3abbf3d1346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '39646ee4-0dbe-452c-a345-bfd68d56e181', '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-d054f149-24c4-4feb-be22-bce411b2c2f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/test/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: 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-4e0283fc-7ace-4c92-8e48-18216a223049 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/fake-hardware-type/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'}{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.113041s] ... ok DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '10d4d5e8-f475-4db9-953a-5d553eef6b99', '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-2ae79a56-b314-4a7b-af8f-180d41bd07db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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'}]} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/drivers/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-70989045-a82c-4855-b888-1fd5a69e0dbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?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-2ae75ec7-6bb6-4cca-a07e-d92c388f50e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} DEBUG util.py:445: 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'}]} DEBUG util.py:445: GET: /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'}]} 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-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_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_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_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-host1', 'fake-host2'], '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-host1', 'fake-host2'], '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: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.191161s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd31bb663-6c8b-459e-8197-2882bbae1297', 'created_at': '2023-04-19T16:14:33.272094+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/d31bb663-6c8b-459e-8197-2882bbae1297', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d31bb663-6c8b-459e-8197-2882bbae1297/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '83fc0332-c2da-4906-a07e-a959de582bc2', 'created_at': '2023-04-19T16:14:33.276610+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/83fc0332-c2da-4906-a07e-a959de582bc2', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/83fc0332-c2da-4906-a07e-a959de582bc2/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=somefake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aaa96d90-cbb7-490d-bf80-037915710e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-514fc4ae-1bd0-47fe-9a68-5f4d6966a7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?driver=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd8e56688-3f64-47be-b96f-d694b2fafdb8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.274268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.401075s] ... 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-34c20db0-0953-4104-bb96-6998ab1c61ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/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-ebdf7f7f-2a55-4454-876a-6590ff449fdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-6e16df0b-c69e-4a57-9b2a-5e54a1d0cf72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'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-819909fc-2085-46c9-a8a3-9db5d4733514 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0b024cd4-5b5a-4c2e-a883-0bdb19719abb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': '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-4a102c24-2cd6-45f5-9235-178f08133085 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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', '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-30b4df99-b9e3-4db1-bec2-b82ad201a3b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'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-35abbc5a-a34c-44e2-b08d-1aa1cc0fe4ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-241d034d-abf5-473a-81fd-d61746314646 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d4485aeb-e63e-4335-abf3-10f94f9b8bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-759a938e-eba6-4492-a4e5-f5e25c93880f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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-de3e0faf-08c6-4715-9363-3bf23de13666 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '676fab74-12b7-4d75-bde1-e2b9476ac4d1', '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-f2da0351-c5ae-429b-93e0-3f37c860b571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/00008ef3-3250-461c-8f2d-428868bb73ea DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.093243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.080752s] ... 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.068024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.052080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.116099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.232630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.109001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.213980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.104004s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.043276s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.021515s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.040189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.132008s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.041192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.091451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.302001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.256822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.097786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.156254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.143905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.156017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.137082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.120490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.117959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.160287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.068287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.228574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.049860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.144984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.113844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.262009s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'created_at': '2023-04-19T16:14:33.753929+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/f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8c01123-613d-4b6e-9bac-faf4d2149f5d/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd8e56688-3f64-47be-b96f-d694b2fafdb8', 'created_at': '2023-04-19T16:14:33.759641+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/d8e56688-3f64-47be-b96f-d694b2fafdb8', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8e56688-3f64-47be-b96f-d694b2fafdb8/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=fake {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb183439-bbca-42c2-b3c8-2db71f945571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?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-dde3bc40-826c-410c-abe9-90fffb652b80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-37ed0f50-4cb9-4fa4-bedc-84a9600fa541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} DEBUG util.py:445: GOT:{'protected': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired {} DEBUG util.py:445: GOT:{'retired': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:{'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/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-1f6cc228-7a1e-4168-8d5a-9e41515758bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.161632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.208156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.115555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.076016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.040138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.245500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.071800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.155190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.328160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.070347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.096729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.089218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.128102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.093349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.171813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.103264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.049418s] ... ok DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_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_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': []}]} 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'}]} DEBUG util.py:445: GET: /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'}]} 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/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} 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-08c5b9d1-ba70-4896-b290-886da5671d2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8ca8333c-719a-4766-b160-df1c3fb79fa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b56ac5a8-803e-4ba4-bf0f-63c31bb82d2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['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-15b94d5e-946a-404c-a61a-28a84bcd32bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.unbind_port', '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-3b969f19-8bab-4ed4-be72-117e847f861a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9493beb-3862-4177-a666-135f9961c034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'df93f0ec-55f1-4422-81f4-78941fe74546'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b5682088-36bf-40f5-aa1e-3b31fc62e4cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': '37306168-1134-41ee-9549-2d672c483746'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-076235ee-1c5a-4706-9636-c38f7d7b0cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': 'c3f2ce0b-9a41-42d6-886d-aa719fc80e1c'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.081929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.082827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.032242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.058227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.120815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.070965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.140768s] ... ok 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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:35.197725+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-04-19T16:14:35.197725+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 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2df59d94-584c-475c-aa93-6adfc5e26814 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'b1da5bce-3654-4cac-9875-e056b8724e2e', 'created_at': '2023-04-19T16:14:35.406218+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': '49d41fd2-e037-47a7-903d-b7769830e702', '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/b1da5bce-3654-4cac-9875-e056b8724e2e', 'rel': 'self'}, {'href': 'http://localhost/nodes/b1da5bce-3654-4cac-9875-e056b8724e2e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b1da5bce-3654-4cac-9875-e056b8724e2e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b1da5bce-3654-4cac-9875-e056b8724e2e/ports', 'rel': 'bookmark'}]}, {'uuid': 'b4d2d1e3-aff7-4e0a-bbf2-16a1d40d755e', 'created_at': '2023-04-19T16:14:35.409462+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': '9617dfb7-2635-4b09-b60d-c2fcafbb2f39', '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/b4d2d1e3-aff7-4e0a-bbf2-16a1d40d755e', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4d2d1e3-aff7-4e0a-bbf2-16a1d40d755e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b4d2d1e3-aff7-4e0a-bbf2-16a1d40d755e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4d2d1e3-aff7-4e0a-bbf2-16a1d40d755e/ports', 'rel': 'bookmark'}]}, {'uuid': '1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e', 'created_at': '2023-04-19T16:14:35.413395+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': '7e45cfbc-b1b4-400e-99d2-f002b3cc2e92', '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/1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e', 'rel': 'self'}, {'href': 'http://localhost/nodes/1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=1dbf00a4-8bfa-43e0-bdd0-7b6b4e0a5d5e'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.170982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.099959s] ... 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-9fb6b428-969d-4b3a-b3e1-e32d29ba7aa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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?fields=name,read_only {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2023-04-19T16:14:34.129839+00:00', 'updated_at': None, 'name': 'virtualization', 'read_only': False, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2023-04-19T16:14:34.222723+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af15fb1f-1478-460b-a060-2f10cd52a30a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-bb42ece1-af41-4576-b5d7-aad703e0e4f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fc27a27-309b-4b37-a3c4-56a6a5b4730b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45243315-d3f0-4859-8f64-c1b6aec3df0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: GET: /v1/nodes?associated=blah {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d1e46d1-d4d8-4e53-929c-8f5cbbd67cb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/?limit=3 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3e1bfc5f-5902-461c-a053-090d7aacf7ba', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3e1bfc5f-5902-461c-a053-090d7aacf7ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e1bfc5f-5902-461c-a053-090d7aacf7ba', 'rel': 'bookmark'}]}, {'uuid': 'ba1c46a5-60c6-4e5e-b9ce-a61b4298ba76', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ba1c46a5-60c6-4e5e-b9ce-a61b4298ba76', 'rel': 'self'}, {'href': 'http://localhost/nodes/ba1c46a5-60c6-4e5e-b9ce-a61b4298ba76', 'rel': 'bookmark'}]}, {'uuid': 'f82a7c41-6dea-40a5-9516-445c576ac3ee', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f82a7c41-6dea-40a5-9516-445c576ac3ee', 'rel': 'self'}, {'href': 'http://localhost/nodes/f82a7c41-6dea-40a5-9516-445c576ac3ee', '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=f82a7c41-6dea-40a5-9516-445c576ac3ee'} 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?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-c9746e93-fb50-4596-9796-ae8490db646f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/detail?sort_key=resource_class {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.139337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.081459s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:35.623091+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-04-19T16:14:35.623091+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-04-19T16:14:35.787813+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.109496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.141819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.041835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.155388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.162873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.059625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.115030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.074097s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) 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-2de5ecce-d812-4e62-bff6-172983d73ca0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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?fields=name,invalid {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5249e02f-823e-4364-a67c-84bf0bd75b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], '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_power_interface': None, 'enabled_power_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_raid_interface': None, 'enabled_raid_interfaces': []} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /v1/drivers?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-94bd672f-6d59-4cbe-9207-a3c4d3265068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?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/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83ddeed3-8e3d-4f3a-a879-9a2be6e73b45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': [{'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-b9ae970d-1cdd-432d-9e83-ff7085c4036c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.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-fa2699c9-3da8-4571-b4a5-03770f9ec723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bca6b008-d0f7-41cf-97e1-7e0fc7792d23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6345ee53-3d48-4ccd-ae1e-3347a6b9f716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.206594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.023451s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c46424d1-b90b-45d0-9e55-67bbd0b21726', 'created_at': '2023-04-19T16:14:35.716757+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/c46424d1-b90b-45d0-9e55-67bbd0b21726', 'rel': 'self'}, {'href': 'http://localhost/nodes/c46424d1-b90b-45d0-9e55-67bbd0b21726', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c46424d1-b90b-45d0-9e55-67bbd0b21726/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c46424d1-b90b-45d0-9e55-67bbd0b21726/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c46424d1-b90b-45d0-9e55-67bbd0b21726/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c46424d1-b90b-45d0-9e55-67bbd0b21726/states', 'rel': 'bookmark'}]}, {'uuid': '6016a28f-644a-4ea5-9f3c-5860e7ba1199', 'created_at': '2023-04-19T16:14:35.713138+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/6016a28f-644a-4ea5-9f3c-5860e7ba1199', 'rel': 'self'}, {'href': 'http://localhost/nodes/6016a28f-644a-4ea5-9f3c-5860e7ba1199', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6016a28f-644a-4ea5-9f3c-5860e7ba1199/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6016a28f-644a-4ea5-9f3c-5860e7ba1199/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6016a28f-644a-4ea5-9f3c-5860e7ba1199/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6016a28f-644a-4ea5-9f3c-5860e7ba1199/states', 'rel': 'bookmark'}]}, {'uuid': '5df41571-b844-4e37-9588-a6e71bfc632b', 'created_at': '2023-04-19T16:14:35.707571+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/5df41571-b844-4e37-9588-a6e71bfc632b', 'rel': 'self'}, {'href': 'http://localhost/nodes/5df41571-b844-4e37-9588-a6e71bfc632b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5df41571-b844-4e37-9588-a6e71bfc632b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5df41571-b844-4e37-9588-a6e71bfc632b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5df41571-b844-4e37-9588-a6e71bfc632b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5df41571-b844-4e37-9588-a6e71bfc632b/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?detail=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:35.836360+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?detail=True&fields=name {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-032dbdb3-e755-49f9-80e6-314e6f63c5c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.094083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.070469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.145511s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.199451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.053610s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.064110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.042898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.044457s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:35.787813+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:35.867598+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-04-19T16:14:35.867598+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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.338032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.141391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.104038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.058530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.086372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.120292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.148986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.328653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.139446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.128416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.039428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.030719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.069207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.281524s] ... 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-1077a7a3-c58b-464b-af36-bee846096ecb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/doesntexist/vifs {'id': 'e0deb15b-0ab4-402e-9a7f-65f1c3c15683'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e08fb0e0-238d-4b60-9ce9-489c7324bf60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/81a38cc8-5cad-478e-a156-fae5b97fc7f7 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-cd341f7d-75f7-427b-a302-c6b84714491d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/ce8fffdb-4fa8-466a-95ab-16b407eebfc1 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd3b7255-fc58-4efb-9c0e-b2ff6893d4d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:{'vifs': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2023-04-19T16:14:35.909618+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?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-87982bf9-dca7-4941-b9a3-474415fd3416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2023-04-19T16:14:36.119729+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2023-04-19T16:14:36.169174+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}} DEBUG util.py:445: 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-33b34d5f-4f1c-4786-9b00-64315ad003d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/foo/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-4710f5cb-235e-4b4c-80e3-3a3547eff547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46a1dbcb-d014-4ada-89a2-6a4fa92e5d33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: GET: /v1/nodes?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '84854af5-6fff-44ae-9615-c6fc87834b65', 'instance_uuid': '4fd92799-b75c-49e2-8b60-1bf91ede0d03', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/84854af5-6fff-44ae-9615-c6fc87834b65', 'rel': 'self'}, {'href': 'http://localhost/nodes/84854af5-6fff-44ae-9615-c6fc87834b65', 'rel': 'bookmark'}]}, {'uuid': '4ee7a282-dfc8-4806-848b-60b3c366220c', 'instance_uuid': '03da47b2-50e4-49be-b349-2d24c7b5179b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4ee7a282-dfc8-4806-848b-60b3c366220c', 'rel': 'self'}, {'href': 'http://localhost/nodes/4ee7a282-dfc8-4806-848b-60b3c366220c', 'rel': 'bookmark'}]}, {'uuid': 'b059c635-aa18-479e-9b7e-0616900de969', 'instance_uuid': 'a8b83db2-c71e-4b0c-a097-da6f3c95633c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b059c635-aa18-479e-9b7e-0616900de969', 'rel': 'self'}, {'href': 'http://localhost/nodes/b059c635-aa18-479e-9b7e-0616900de969', 'rel': 'bookmark'}]}, {'uuid': 'd191ad85-0a93-4ba2-a2b0-7e037089e72d', 'instance_uuid': '10b3b46b-d5cf-439e-9315-16bdb79167ec', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d191ad85-0a93-4ba2-a2b0-7e037089e72d', 'rel': 'self'}, {'href': 'http://localhost/nodes/d191ad85-0a93-4ba2-a2b0-7e037089e72d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '84854af5-6fff-44ae-9615-c6fc87834b65', 'instance_uuid': '4fd92799-b75c-49e2-8b60-1bf91ede0d03', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/84854af5-6fff-44ae-9615-c6fc87834b65', 'rel': 'self'}, {'href': 'http://localhost/nodes/84854af5-6fff-44ae-9615-c6fc87834b65', 'rel': 'bookmark'}]}, {'uuid': '4ee7a282-dfc8-4806-848b-60b3c366220c', 'instance_uuid': '03da47b2-50e4-49be-b349-2d24c7b5179b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4ee7a282-dfc8-4806-848b-60b3c366220c', 'rel': 'self'}, {'href': 'http://localhost/nodes/4ee7a282-dfc8-4806-848b-60b3c366220c', 'rel': 'bookmark'}]}, {'uuid': 'b059c635-aa18-479e-9b7e-0616900de969', 'instance_uuid': 'a8b83db2-c71e-4b0c-a097-da6f3c95633c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b059c635-aa18-479e-9b7e-0616900de969', 'rel': 'self'}, {'href': 'http://localhost/nodes/b059c635-aa18-479e-9b7e-0616900de969', 'rel': 'bookmark'}]}, {'uuid': 'd191ad85-0a93-4ba2-a2b0-7e037089e72d', 'instance_uuid': '10b3b46b-d5cf-439e-9315-16bdb79167ec', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d191ad85-0a93-4ba2-a2b0-7e037089e72d', 'rel': 'self'}, {'href': 'http://localhost/nodes/d191ad85-0a93-4ba2-a2b0-7e037089e72d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fields=driver_info,uuid {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.079105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.046423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.060970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.061534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.113642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.090566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.245809s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:36.241759+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/69196472-14cc-4244-b6eb-dc34c96674ff {} DEBUG util.py:445: GOT:{'uuid': '69196472-14cc-4244-b6eb-dc34c96674ff', 'created_at': '2023-04-19T16:14:36.531802+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/69196472-14cc-4244-b6eb-dc34c96674ff', 'rel': 'self'}, {'href': 'http://localhost/nodes/69196472-14cc-4244-b6eb-dc34c96674ff', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/69196472-14cc-4244-b6eb-dc34c96674ff/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.477852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.257991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.174197s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.121897s] ... 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-a301b4e4-8c3a-48f6-bd55-8f985a010b2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/detail?instance_uuid=6f25ef57-1e96-4d22-af68-9517e1bad485 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'fad5224a-8bc0-4575-ba60-a80b5d68d20f', 'created_at': '2023-04-19T16:14:36.068235+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': '6f25ef57-1e96-4d22-af68-9517e1bad485', '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/fad5224a-8bc0-4575-ba60-a80b5d68d20f', 'rel': 'self'}, {'href': 'http://localhost/nodes/fad5224a-8bc0-4575-ba60-a80b5d68d20f', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/fad5224a-8bc0-4575-ba60-a80b5d68d20f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fad5224a-8bc0-4575-ba60-a80b5d68d20f/ports', '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': 'da265cc4-5233-4329-b99f-6a9c03e27771', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '9fb62607-36d4-46d4-a49c-4c16d72a9e1b', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/da265cc4-5233-4329-b99f-6a9c03e27771', 'rel': 'self'}, {'href': 'http://localhost/nodes/da265cc4-5233-4329-b99f-6a9c03e27771', 'rel': 'bookmark'}]}, {'uuid': '3fa07228-129e-4edb-a65a-46362aa11cf6', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '5953be20-ed48-4304-b09f-2e0365983ac2', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/3fa07228-129e-4edb-a65a-46362aa11cf6', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fa07228-129e-4edb-a65a-46362aa11cf6', 'rel': 'bookmark'}]}, {'uuid': '2295ca61-637b-45b8-981b-5d9642d6e77d', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'd986d5be-f71e-4f43-9ea3-c0e7d84ca7fd', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/2295ca61-637b-45b8-981b-5d9642d6e77d', 'rel': 'self'}, {'href': 'http://localhost/nodes/2295ca61-637b-45b8-981b-5d9642d6e77d', '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/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-394ed2b7-14b3-4838-8dd8-e4e54663ee50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?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-5c86e76c-c3e3-498e-8f0b-7768cdeab6ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '632a575d-f913-4ef5-9ae7-ec18417a6577', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '24c4ed7d-890e-49e0-8b34-259958b6e111', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '632a575d-f913-4ef5-9ae7-ec18417a6577', 'created_at': '2023-04-19T16:14:36.986213+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/632a575d-f913-4ef5-9ae7-ec18417a6577', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/632a575d-f913-4ef5-9ae7-ec18417a6577/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group2 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.493572s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c3236a89-b30b-4247-bc69-da884a911daf', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/c3236a89-b30b-4247-bc69-da884a911daf', 'rel': 'self'}, {'href': 'http://localhost/nodes/c3236a89-b30b-4247-bc69-da884a911daf', 'rel': 'bookmark'}]}, {'uuid': '7685045d-dabc-4a76-8c0c-87e7ed429fcd', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/7685045d-dabc-4a76-8c0c-87e7ed429fcd', 'rel': 'self'}, {'href': 'http://localhost/nodes/7685045d-dabc-4a76-8c0c-87e7ed429fcd', 'rel': 'bookmark'}]}, {'uuid': '5fb2a999-863f-4e87-9a00-2a81867c54c5', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/5fb2a999-863f-4e87-9a00-2a81867c54c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fb2a999-863f-4e87-9a00-2a81867c54c5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=5fb2a999-863f-4e87-9a00-2a81867c54c5'} 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-04-19T16:14:36.761586+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53edc27a-f690-4267-a5ab-668341351096 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53596cb4-f209-42fd-b655-430d235e1ef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=False&fields=name {} DEBUG util.py:445: GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?associated=true {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.255774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.062679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.035389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.176486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.036465s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:36.825171+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-04-19T16:14:36.825171+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-04-19T16:14:37.238640+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/b4748db9-6c8c-4511-8880-09d66c5f85e4 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.153943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.037287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.036644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.261094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.053872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.053867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.030795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.042780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.054470s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '24c4ed7d-890e-49e0-8b34-259958b6e111', 'created_at': '2023-04-19T16:14:36.989749+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/24c4ed7d-890e-49e0-8b34-259958b6e111', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/24c4ed7d-890e-49e0-8b34-259958b6e111/volume', '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-67ea1b2f-402d-410b-bcd3-8e519e1115c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b9107e80-9873-4dfc-9468-01c6a4843bab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'e26b8ece-4701-4f63-9439-e31b9ce587f9', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'e26b8ece-4701-4f63-9439-e31b9ce587f9', 'created_at': '2023-04-19T16:14:37.602257+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/e26b8ece-4701-4f63-9439-e31b9ce587f9', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e26b8ece-4701-4f63-9439-e31b9ce587f9/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=bob {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.171091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.106823s] ... ok DEBUG util.py:445: GOT:{'uuid': 'b4748db9-6c8c-4511-8880-09d66c5f85e4', 'created_at': '2023-04-19T16:14:37.472524+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/b4748db9-6c8c-4511-8880-09d66c5f85e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4748db9-6c8c-4511-8880-09d66c5f85e4/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c {} DEBUG util.py:445: GOT:{'uuid': '6b70dff7-403e-4e28-bcd7-5c7688e6505c', 'created_at': '2023-04-19T16:14:37.570627+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/6b70dff7-403e-4e28-bcd7-5c7688e6505c', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b70dff7-403e-4e28-bcd7-5c7688e6505c/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09 {} DEBUG util.py:445: GOT:{'uuid': '8a25c42e-c195-44d5-807d-93db60a88d09', 'created_at': '2023-04-19T16:14:37.638647+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': True, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a25c42e-c195-44d5-807d-93db60a88d09', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a25c42e-c195-44d5-807d-93db60a88d09/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.117410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.106684s] ... 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-2fadf96a-e016-49a3-972c-e8b295fcabd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-158f2e4b-b04a-4f7d-9cc8-2d1448c6198c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.unbind_port', '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-66520426-3632-4887-9f03-6c8e1e7b711c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-529d3014-c9b4-4389-890c-7227ad406eee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5da6a35c-e785-467d-bf95-9fed2b77a1d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-77147123-5c6c-45a6-bfde-845029a5f306 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': '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-ba7d7c65-e5c6-433e-b56e-63320c6b7f06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '986d8f83-6c3e-471e-a43f-69521628266c'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13282f8a-c397-418e-9e29-65a5ef0a3aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f78d676-c0a6-4f04-bc98-1db912a33e35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?fields=['name', 'read_only'] received.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-1f0d16af-d4a8-4360-b7e5-65efdfdfc896 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT: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/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-0a6a1f86-3d00-4555-b76f-8212357c3f89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2bb98363-7ec6-4bd8-822b-3cd745765196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72cc8baf-0411-48bc-be78-f47d59833042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-4554c158-d2e0-420e-a657-7907d34e283c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-b166a35c-5419-4383-ba00-baf5435a2693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.029288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.040034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.044838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.059967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.223649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.042756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.029235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.026836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.101427s] ... ok DEBUG util.py:445: GOT:{'uuid': '0beaeb3a-0a2d-4939-9e44-6b54edca3eaa', 'created_at': '2023-04-19T16:14:37.664231+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': False, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa', 'rel': 'self'}, {'href': 'http://localhost/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0beaeb3a-0a2d-4939-9e44-6b54edca3eaa/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-04-19T16:14:37.765726+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:37.765726+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.095355s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'e3994ebf-9c92-474b-9844-fa47fcc65084', 'created_at': '2023-04-19T16:14:37.375676+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': 'b8413f0d-4729-40dc-941f-e47b5a8da9c1', '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/e3994ebf-9c92-474b-9844-fa47fcc65084', 'rel': 'self'}, {'href': 'http://localhost/nodes/e3994ebf-9c92-474b-9844-fa47fcc65084', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e3994ebf-9c92-474b-9844-fa47fcc65084/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e3994ebf-9c92-474b-9844-fa47fcc65084/ports', 'rel': 'bookmark'}]}, {'uuid': '193fe07f-c96e-4ba4-a8d7-522bb960aed1', 'created_at': '2023-04-19T16:14:37.379202+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': '8752abac-209a-42cb-b860-5d2a10213da0', '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/193fe07f-c96e-4ba4-a8d7-522bb960aed1', 'rel': 'self'}, {'href': 'http://localhost/nodes/193fe07f-c96e-4ba4-a8d7-522bb960aed1', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/193fe07f-c96e-4ba4-a8d7-522bb960aed1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/193fe07f-c96e-4ba4-a8d7-522bb960aed1/ports', 'rel': 'bookmark'}]}, {'uuid': '37e23fc2-f147-4ad4-9ad9-f0a284bf4e14', 'created_at': '2023-04-19T16:14:37.382273+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': '4dd3123a-5d1b-49d9-9367-b9aa0fcca517', '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/37e23fc2-f147-4ad4-9ad9-f0a284bf4e14', 'rel': 'self'}, {'href': 'http://localhost/nodes/37e23fc2-f147-4ad4-9ad9-f0a284bf4e14', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/37e23fc2-f147-4ad4-9ad9-f0a284bf4e14/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/37e23fc2-f147-4ad4-9ad9-f0a284bf4e14/ports', 'rel': 'bookmark'}]}, {'uuid': '74da2690-f547-4e42-8c12-ebfcd2236e78', 'created_at': '2023-04-19T16:14:37.386341+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': '55e2167f-0e3d-430c-955b-e8a9418360d8', '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/74da2690-f547-4e42-8c12-ebfcd2236e78', 'rel': 'self'}, {'href': 'http://localhost/nodes/74da2690-f547-4e42-8c12-ebfcd2236e78', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/74da2690-f547-4e42-8c12-ebfcd2236e78/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/74da2690-f547-4e42-8c12-ebfcd2236e78/ports', '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/082b31a9-74ad-4aea-83ad-f6b7cb618964', 'rel': 'self'}, {'href': 'http://localhost/nodes/082b31a9-74ad-4aea-83ad-f6b7cb618964', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/287921cf-2e39-4a9f-aae6-10180b569ec8', 'rel': 'self'}, {'href': 'http://localhost/nodes/287921cf-2e39-4a9f-aae6-10180b569ec8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=287921cf-2e39-4a9f-aae6-10180b569ec8'} 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-b66d43c0-ebe6-4369-a937-063f9e1ef1cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f3bf3a0-f55a-4c74-9f46-1b5c44055ebe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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=lessee {} DEBUG util.py:445: GOT:{'lessee': 'some-lucky-project', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?conductor=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-61e54415-748e-4055-8ffc-55b972044bcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-4fa0e540-4b82-4efc-b9f8-e13cbaa79273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?description_contains=cat {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1cd0efde-fb10-44c3-9b68-bb6ffe9bcc22', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1cd0efde-fb10-44c3-9b68-bb6ffe9bcc22', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd0efde-fb10-44c3-9b68-bb6ffe9bcc22', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=dog {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '25113939-f4d6-424d-bead-9d21122bf0aa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/25113939-f4d6-424d-bead-9d21122bf0aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/25113939-f4d6-424d-bead-9d21122bf0aa', 'rel': 'bookmark'}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.025297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.031506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.031924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.052002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.026975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.098802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.047624s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'created_at': '2023-04-19T16:14:37.605781+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/f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1a5d4be-2b09-4542-b555-7cacbaeff5c2/volume', 'rel': 'bookmark'}]}]} 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-a95be172-db3d-4a22-8b74-887f84fee952 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:37.914362+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/node.json {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.073833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.025580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.035629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.080603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.118858s] ... 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-c6d1b155-4420-45d4-896c-2af3818f1c9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24e8c851-cd78-4ba2-8e6c-aeb276fbfdfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=ea5311cb-1879-4c18-b52b-5538fcabc558 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ced6063a-a8c7-4dbe-a5e2-bce36fcd8308', 'instance_uuid': 'ea5311cb-1879-4c18-b52b-5538fcabc558', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ced6063a-a8c7-4dbe-a5e2-bce36fcd8308', 'rel': 'self'}, {'href': 'http://localhost/nodes/ced6063a-a8c7-4dbe-a5e2-bce36fcd8308', '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-04-19T16:14:37.877821+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/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-7eb1c3c5-931e-40df-95db-23d0da35d98f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-e3b04367-c213-4e0b-b7b7-2a11238b2b5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:37.976623+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': '46c0bf8a-846d-49a5-9724-5a61a5efa6bf', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '61d02c18-886c-492b-bf1e-ffaa34cbfc3d', 'created_at': '2023-04-19T16:14:38.028039+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/61d02c18-886c-492b-bf1e-ffaa34cbfc3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/61d02c18-886c-492b-bf1e-ffaa34cbfc3d/volume', 'rel': 'bookmark'}]}, {'uuid': 'b5447fc3-b57b-4d6f-88a1-0cb58ea73db2', 'created_at': '2023-04-19T16:14:38.032217+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/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5447fc3-b57b-4d6f-88a1-0cb58ea73db2/volume', 'rel': 'bookmark'}]}, {'uuid': '6b64af33-959e-497f-b4bf-ec5f53ff8814', 'created_at': '2023-04-19T16:14:38.035547+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/6b64af33-959e-497f-b4bf-ec5f53ff8814', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b64af33-959e-497f-b4bf-ec5f53ff8814/volume', 'rel': 'bookmark'}]}, {'uuid': 'f8fefc2c-0cee-4fb4-894e-87395e74019d', 'created_at': '2023-04-19T16:14:38.038329+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/f8fefc2c-0cee-4fb4-894e-87395e74019d', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8fefc2c-0cee-4fb4-894e-87395e74019d/volume', 'rel': 'bookmark'}]}, {'uuid': '6a1f80bc-7cf8-449d-a558-c2118425445c', 'created_at': '2023-04-19T16:14:38.042306+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/6a1f80bc-7cf8-449d-a558-c2118425445c', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a1f80bc-7cf8-449d-a558-c2118425445c/volume', 'rel': 'bookmark'}]}, {'uuid': 'd94ea880-c31b-46de-9c1e-95ee261e4d08', 'created_at': '2023-04-19T16:14:38.045126+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/d94ea880-c31b-46de-9c1e-95ee261e4d08', 'rel': 'self'}, {'href': 'http://localhost/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d94ea880-c31b-46de-9c1e-95ee261e4d08/volume', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.071051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.033622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.032707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.034500s] ... ok 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-21114827-fae0-4ed0-b672-fa94825c6bbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?resource_class=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes/detail?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-e316ca84-4e41-43a0-a989-a54565d63cef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-d96bd9a1-6834-4b81-b0c3-701cc056273a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c31a0970-66e8-4bca-818e-8a0a3e260d05', 'created_at': '2023-04-19T16:14:38.027436+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/c31a0970-66e8-4bca-818e-8a0a3e260d05', 'rel': 'self'}, {'href': 'http://localhost/nodes/c31a0970-66e8-4bca-818e-8a0a3e260d05', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c31a0970-66e8-4bca-818e-8a0a3e260d05/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c31a0970-66e8-4bca-818e-8a0a3e260d05/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c31a0970-66e8-4bca-818e-8a0a3e260d05/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c31a0970-66e8-4bca-818e-8a0a3e260d05/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8fdda525-c951-4bb8-8597-b2a58a524120', 'created_at': '2023-04-19T16:14:38.030640+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/8fdda525-c951-4bb8-8597-b2a58a524120', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fdda525-c951-4bb8-8597-b2a58a524120', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8fdda525-c951-4bb8-8597-b2a58a524120/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fdda525-c951-4bb8-8597-b2a58a524120/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8fdda525-c951-4bb8-8597-b2a58a524120/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fdda525-c951-4bb8-8597-b2a58a524120/states', 'rel': 'bookmark'}]}]} 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-baa2d71e-76ab-414a-acb6-692c80fef0cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.100931+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.035514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.033698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.084684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.083129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.034294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.038365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.047106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.036800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.051043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.032922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.059441s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.137650+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} DEBUG util.py:445: GOT:{'storage_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.206353+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-04-19T16:14:38.206353+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-04-19T16:14:38.256602+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-04-19T16:14:38.256602+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.123798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.236911s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:37.885342+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:37.885342+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-04-19T16:14:37.983243+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/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'c300b67a-edf3-4b00-a06f-bda517b68038', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c300b67a-edf3-4b00-a06f-bda517b68038', 'rel': 'self'}, {'href': 'http://localhost/ports/c300b67a-edf3-4b00-a06f-bda517b68038', 'rel': 'bookmark'}]}, {'uuid': 'c7a79fbe-b5c2-44b1-b740-9052b047511c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/c7a79fbe-b5c2-44b1-b740-9052b047511c', 'rel': 'self'}, {'href': 'http://localhost/ports/c7a79fbe-b5c2-44b1-b740-9052b047511c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'c300b67a-edf3-4b00-a06f-bda517b68038', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c300b67a-edf3-4b00-a06f-bda517b68038', 'rel': 'self'}, {'href': 'http://localhost/ports/c300b67a-edf3-4b00-a06f-bda517b68038', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=c300b67a-edf3-4b00-a06f-bda517b68038'} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0419c666-1651-4375-b54b-74a44ec8deaa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0419c666-1651-4375-b54b-74a44ec8deaa', 'rel': 'self'}, {'href': 'http://localhost/nodes/0419c666-1651-4375-b54b-74a44ec8deaa', 'rel': 'bookmark'}]}, {'uuid': '57a1a925-3e57-4df4-b69d-1635e058edfd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/57a1a925-3e57-4df4-b69d-1635e058edfd', 'rel': 'self'}, {'href': 'http://localhost/nodes/57a1a925-3e57-4df4-b69d-1635e058edfd', 'rel': 'bookmark'}]}, {'uuid': '2eead61d-aed5-43bd-a9ee-eea160e2a64f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2eead61d-aed5-43bd-a9ee-eea160e2a64f', 'rel': 'self'}, {'href': 'http://localhost/nodes/2eead61d-aed5-43bd-a9ee-eea160e2a64f', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f5cb7005-5771-4984-b89a-b7f653be361c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f5cb7005-5771-4984-b89a-b7f653be361c', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5cb7005-5771-4984-b89a-b7f653be361c', 'rel': 'bookmark'}]}, {'uuid': '6cd533f5-63af-4db8-8815-c09903ac3681', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6cd533f5-63af-4db8-8815-c09903ac3681', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cd533f5-63af-4db8-8815-c09903ac3681', 'rel': 'bookmark'}]}, {'uuid': '58464cd0-f4cb-44df-be76-4be70ec14908', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/58464cd0-f4cb-44df-be76-4be70ec14908', 'rel': 'self'}, {'href': 'http://localhost/nodes/58464cd0-f4cb-44df-be76-4be70ec14908', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=FALSE {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.297749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.181600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.354980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.201462s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.359408+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-04-19T16:14:38.359408+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-04-19T16:14:38.472112+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-04-19T16:14:38.472112+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.098338s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.018832+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.087342+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=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=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-dbb0f53c-ceb1-4574-a19b-59959a7f3201 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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?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-54a43870-7f55-4763-ac98-a398003ed2cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.255638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.171719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.186918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.108646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.223600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.300814s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.607329+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-04-19T16:14:38.607329+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': 'useful piece', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.909768+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-04-19T16:14:38.909768+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.229791s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:38.658492+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-04-19T16:14:38.658492+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?associated=true&maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'dba3b85e-a8c2-4662-ae01-7334676b4a20', 'instance_uuid': '7e0d1792-771c-49a5-9fdf-b335441abe38', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/dba3b85e-a8c2-4662-ae01-7334676b4a20', 'rel': 'self'}, {'href': 'http://localhost/nodes/dba3b85e-a8c2-4662-ae01-7334676b4a20', 'rel': 'bookmark'}]}, {'uuid': 'f9e673dc-661c-4efe-8308-6ed7463000c0', 'instance_uuid': '0281e7a6-3eff-4588-b029-0d9769297cc2', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f9e673dc-661c-4efe-8308-6ed7463000c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/f9e673dc-661c-4efe-8308-6ed7463000c0', 'rel': 'bookmark'}]}, {'uuid': '4613cd3c-4595-485c-a7d0-3f79d1e978f4', 'instance_uuid': '4d8a0272-416e-452a-81d5-518bb583f3c2', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4613cd3c-4595-485c-a7d0-3f79d1e978f4', 'rel': 'self'}, {'href': 'http://localhost/nodes/4613cd3c-4595-485c-a7d0-3f79d1e978f4', 'rel': 'bookmark'}]}, {'uuid': '7b4ddbc6-94bb-422e-b4b5-52d9c90b3df6', 'instance_uuid': '7510ea05-3d60-4ebb-984a-e3ea5f82f3d0', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7b4ddbc6-94bb-422e-b4b5-52d9c90b3df6', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b4ddbc6-94bb-422e-b4b5-52d9c90b3df6', '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': '8b57ac3d-9276-4d0a-b105-d63fdf98d3f6', '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': '8b57ac3d-9276-4d0a-b105-d63fdf98d3f6', '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=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-1c3dc294-5c1a-43a1-9de2-31fe03ca661e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.214841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.152304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.217320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.136883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.103986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.297744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.053592s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '88340977-d58f-415f-8d1a-74bcd6423784', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/88340977-d58f-415f-8d1a-74bcd6423784', 'rel': 'self'}, {'href': 'http://localhost/nodes/88340977-d58f-415f-8d1a-74bcd6423784', 'rel': 'bookmark'}]}, {'uuid': 'efc589d6-957c-4e0c-b07e-ff413401b403', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/efc589d6-957c-4e0c-b07e-ff413401b403', 'rel': 'self'}, {'href': 'http://localhost/nodes/efc589d6-957c-4e0c-b07e-ff413401b403', 'rel': 'bookmark'}]}, {'uuid': '8b03792c-9eef-40ea-ae91-0edc68d24feb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/8b03792c-9eef-40ea-ae91-0edc68d24feb', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b03792c-9eef-40ea-ae91-0edc68d24feb', 'rel': 'bookmark'}]}, {'uuid': '74572aab-f661-4430-bb85-f0bac1df0d1d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/74572aab-f661-4430-bb85-f0bac1df0d1d', 'rel': 'self'}, {'href': 'http://localhost/nodes/74572aab-f661-4430-bb85-f0bac1df0d1d', 'rel': 'bookmark'}]}, {'uuid': '57ca64ee-495b-45b1-a064-ecabc7effbf9', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/57ca64ee-495b-45b1-a064-ecabc7effbf9', 'rel': 'self'}, {'href': 'http://localhost/nodes/57ca64ee-495b-45b1-a064-ecabc7effbf9', '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-04-19T16:14:39.290046+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-04-19T16:14:39.290046+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': '96ef4918-a015-47fc-87a9-cdbadc23095e', 'instance_uuid': 'bcc7ebfe-54e1-4139-858f-ef0fba07e188', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/96ef4918-a015-47fc-87a9-cdbadc23095e', 'rel': 'self'}, {'href': 'http://localhost/nodes/96ef4918-a015-47fc-87a9-cdbadc23095e', 'rel': 'bookmark'}]}, {'uuid': 'cfe37863-be3c-4942-90a9-ac8fff3fa689', 'instance_uuid': '9cc50990-f556-48de-a813-5465c801fe58', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cfe37863-be3c-4942-90a9-ac8fff3fa689', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe37863-be3c-4942-90a9-ac8fff3fa689', 'rel': 'bookmark'}]}, {'uuid': '3866f05a-26ed-4521-a799-83b07777c1f3', 'instance_uuid': 'cb7298a1-ce99-4243-94ba-9f695cc553c4', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3866f05a-26ed-4521-a799-83b07777c1f3', 'rel': 'self'}, {'href': 'http://localhost/nodes/3866f05a-26ed-4521-a799-83b07777c1f3', '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=3866f05a-26ed-4521-a799-83b07777c1f3'} 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-04-19T16:14:39.551114+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.072227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.069529s] ... 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/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-7643b547-a8e3-4dd0-9c12-e89d696c9072 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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/states/console {} DEBUG util.py:445: GOT:{'console_enabled': False, 'console_info': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?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:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-740a512f-9e0e-42b0-a8e0-e26d993fd39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?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': 'f680bab7-5905-4399-957b-46ee8d55d6e4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f680bab7-5905-4399-957b-46ee8d55d6e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f680bab7-5905-4399-957b-46ee8d55d6e4', 'rel': 'bookmark'}]}, {'uuid': '4740e99a-ac9a-432e-8365-a833173bc68c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4740e99a-ac9a-432e-8365-a833173bc68c', 'rel': 'self'}, {'href': 'http://localhost/nodes/4740e99a-ac9a-432e-8365-a833173bc68c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '4740e99a-ac9a-432e-8365-a833173bc68c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4740e99a-ac9a-432e-8365-a833173bc68c', 'rel': 'self'}, {'href': 'http://localhost/nodes/4740e99a-ac9a-432e-8365-a833173bc68c', 'rel': 'bookmark'}]}]} 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-c2ac0732-6059-42ce-a988-205e1fdb08fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f9752482-778a-4210-b2aa-e6ffc1fba957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?provision_state=available {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'a7355a91-774e-4aa5-862a-e4e2f7a32720', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a7355a91-774e-4aa5-862a-e4e2f7a32720', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7355a91-774e-4aa5-862a-e4e2f7a32720', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=deploying {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6bf337b3-3ab3-4eb6-93e0-d8e54b1bb6f1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6bf337b3-3ab3-4eb6-93e0-d8e54b1bb6f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/6bf337b3-3ab3-4eb6-93e0-d8e54b1bb6f1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'dc141ffd-d191-442f-ac0e-73989b7bf731', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/dc141ffd-d191-442f-ac0e-73989b7bf731', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc141ffd-d191-442f-ac0e-73989b7bf731', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'de20ff4d-b2c1-4740-981d-bd299cc243d1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/de20ff4d-b2c1-4740-981d-bd299cc243d1', 'rel': 'self'}, {'href': 'http://localhost/nodes/de20ff4d-b2c1-4740-981d-bd299cc243d1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} DEBUG util.py:445: GOT:{'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_deleted_chassis [0.223998s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.096655+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-04-19T16:14:39.096655+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-04-19T16:14:39.403554+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-04-19T16:14:39.403554+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': ['CUSTOM_1'], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/85b73474-0112-4f37-ad32-851a3ca21d73 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.248229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.188315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [1.173289s] ... ok DEBUG util.py:445: GOT:{'uuid': '90ad5eb1-30c8-4e70-8c45-9ee842c81293', 'created_at': '2023-04-19T16:14:39.598185+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'bios', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293', 'rel': 'self'}, {'href': 'http://localhost/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/90ad5eb1-30c8-4e70-8c45-9ee842c81293/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5 {} DEBUG util.py:445: GOT:{'uuid': 'ca9c197d-7a51-49f9-af7b-e54682f389c5', 'created_at': '2023-04-19T16:14:39.621534+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca9c197d-7a51-49f9-af7b-e54682f389c5/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=fake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0083989-e58b-4ffe-ba9c-04826a991bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-04-19T16:14:39.773301+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.096789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.056138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.128904s] ... 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-04-19T16:14:39.773301+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-04-19T16:14:39.838752+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.885702+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.058972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.219241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.089019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.133489s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.885702+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.984615+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-04-19T16:14:40.044277+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.062328s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.591346+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/node.json.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.822534+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/test.1 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:39.877150+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'test.1', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.148272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.207735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.143543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.168481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.084513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.228422s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:40.044277+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/c436ba35-e70e-43ab-bad9-a91be4e31093/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'bios', 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/0022db9f-2d18-4232-9e1f-2a4fd4acf50c/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:40.241783+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-04-19T16:14:40.241783+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/portgroups {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.113600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.056788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.079622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.341754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.108527s] ... ok DEBUG util.py:445: GOT:{'uuid': '85b73474-0112-4f37-ad32-851a3ca21d73', 'created_at': '2023-04-19T16:14:39.651122+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/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/85b73474-0112-4f37-ad32-851a3ca21d73 {} DEBUG util.py:445: GOT:{'uuid': '85b73474-0112-4f37-ad32-851a3ca21d73', 'created_at': '2023-04-19T16:14:39.651122+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/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/85b73474-0112-4f37-ad32-851a3ca21d73 {} DEBUG util.py:445: GOT:{'uuid': '85b73474-0112-4f37-ad32-851a3ca21d73', 'created_at': '2023-04-19T16:14:39.651122+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/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/85b73474-0112-4f37-ad32-851a3ca21d73/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '031e3cd5-d6ac-446c-9bcb-943ed362fc32', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/031e3cd5-d6ac-446c-9bcb-943ed362fc32', 'rel': 'self'}, {'href': 'http://localhost/nodes/031e3cd5-d6ac-446c-9bcb-943ed362fc32', 'rel': 'bookmark'}]}, {'uuid': '9e03077b-1aa8-4914-b3c8-2c00466dc8bc', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9e03077b-1aa8-4914-b3c8-2c00466dc8bc', 'rel': 'self'}, {'href': 'http://localhost/nodes/9e03077b-1aa8-4914-b3c8-2c00466dc8bc', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '21d9e467-ead5-4437-a871-915aa420a604', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/21d9e467-ead5-4437-a871-915aa420a604', 'rel': 'self'}, {'href': 'http://localhost/nodes/21d9e467-ead5-4437-a871-915aa420a604', 'rel': 'bookmark'}]}, {'uuid': '8e624246-18b1-4798-8c19-e4713513eb75', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8e624246-18b1-4798-8c19-e4713513eb75', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e624246-18b1-4798-8c19-e4713513eb75', 'rel': 'bookmark'}]}, {'uuid': 'c623d88e-e560-4978-8c42-02d93a6ab2ab', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c623d88e-e560-4978-8c42-02d93a6ab2ab', 'rel': 'self'}, {'href': 'http://localhost/nodes/c623d88e-e560-4978-8c42-02d93a6ab2ab', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ca8f8337-88f7-4006-9274-4094dd74b49d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ca8f8337-88f7-4006-9274-4094dd74b49d', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca8f8337-88f7-4006-9274-4094dd74b49d', 'rel': 'bookmark'}]}, {'uuid': '8f613b03-4fba-4f18-91a8-2c7284d67990', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8f613b03-4fba-4f18-91a8-2c7284d67990', 'rel': 'self'}, {'href': 'http://localhost/nodes/8f613b03-4fba-4f18-91a8-2c7284d67990', 'rel': 'bookmark'}]}, {'uuid': 'c60292c9-483b-4679-a4d3-05601030b0dc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c60292c9-483b-4679-a4d3-05601030b0dc', 'rel': 'self'}, {'href': 'http://localhost/nodes/c60292c9-483b-4679-a4d3-05601030b0dc', 'rel': 'bookmark'}]}, {'uuid': '9b5d4a2e-4655-41ab-aedb-1440bb1910bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9b5d4a2e-4655-41ab-aedb-1440bb1910bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b5d4a2e-4655-41ab-aedb-1440bb1910bf', 'rel': 'bookmark'}]}, {'uuid': '42e395c8-2a14-42b6-9ed1-21dc8eb1378e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/42e395c8-2a14-42b6-9ed1-21dc8eb1378e', 'rel': 'self'}, {'href': 'http://localhost/nodes/42e395c8-2a14-42b6-9ed1-21dc8eb1378e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.433264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.378189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.084460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.197240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.138220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.039759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.063970s] ... ok DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'rel': 'bookmark'}]}, {'uuid': '917e6697-b85f-4b9b-bc73-8190f05d2b40', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/917e6697-b85f-4b9b-bc73-8190f05d2b40', 'rel': 'self'}, {'href': 'http://localhost/portgroups/917e6697-b85f-4b9b-bc73-8190f05d2b40', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=6ae4aa3a-6da8-4969-9e6d-b95c0799e8eb'} 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?sort_key=uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '80dff38d-cab6-4afe-8381-4ac1b49a8ff1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/80dff38d-cab6-4afe-8381-4ac1b49a8ff1', 'rel': 'self'}, {'href': 'http://localhost/nodes/80dff38d-cab6-4afe-8381-4ac1b49a8ff1', 'rel': 'bookmark'}]}, {'uuid': '953dfa55-374b-470b-a233-9e69cd00255d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/953dfa55-374b-470b-a233-9e69cd00255d', 'rel': 'self'}, {'href': 'http://localhost/nodes/953dfa55-374b-470b-a233-9e69cd00255d', 'rel': 'bookmark'}]}, {'uuid': 'e968db1d-7053-4ebf-8f02-64ce27246eda', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e968db1d-7053-4ebf-8f02-64ce27246eda', 'rel': 'self'}, {'href': 'http://localhost/nodes/e968db1d-7053-4ebf-8f02-64ce27246eda', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7850249f-6a19-4521-9a91-33ce6de41b39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1b001af3-fbe0-45de-85d0-9cbccd59f1db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbe179d7-fb57-4a0a-a342-85fefd396e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8bd86647-6a8a-4be0-9612-f3f5735af2c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c281dc37-45be-4846-b9d1-6b85b55fa08e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbad3439-8c40-44b0-9cc7-9acd78aff335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2bd2326-6e41-4730-9aa8-399a19ef0ff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-58b612fb-6bb5-4015-9705-aec5f911bee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b92f00-ba3b-4f17-b55d-c5994b57952e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-732e0c6a-fca3-458e-8996-b851a19ac670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.31 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true {} DEBUG util.py:445: GOT:{'history': [{'uuid': '8a5a1b0b-201d-4aaf-bc65-d22bf0657273', 'created_at': '2023-04-19T16:14:40.830467+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8a5a1b0b-201d-4aaf-bc65-d22bf0657273', 'rel': 'self'}]}, {'uuid': 'd844bb8a-2b92-4ac6-83d8-983815ce586f', 'created_at': '2023-04-19T16:14:40.833087+00:00', 'severity': None, 'event_type': None, 'event': 'purr', 'conductor': 'cat-tree2', 'user': 'sage', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d844bb8a-2b92-4ac6-83d8-983815ce586f', 'rel': 'self'}]}, {'uuid': '41d6d4fd-89ca-4da2-993d-60936d960f1b', 'created_at': '2023-04-19T16:14:40.834125+00:00', 'severity': None, 'event_type': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!', 'conductor': 'cat-tree3', 'user': 'bella', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/41d6d4fd-89ca-4da2-993d-60936d960f1b', 'rel': 'self'}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.061031s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.175409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.077163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.233882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.282161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.085436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.068356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.109615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.088996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.075233s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cfdd0fae-f091-4e5e-a015-4339cd87e215', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cfdd0fae-f091-4e5e-a015-4339cd87e215', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfdd0fae-f091-4e5e-a015-4339cd87e215', 'rel': 'bookmark'}]}, {'uuid': 'cd411855-2628-47c1-9817-ec6515e3f791', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cd411855-2628-47c1-9817-ec6515e3f791', 'rel': 'self'}, {'href': 'http://localhost/nodes/cd411855-2628-47c1-9817-ec6515e3f791', 'rel': 'bookmark'}]}, {'uuid': '3f6ff5cd-abbc-4e87-8136-87b58a07ec81', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3f6ff5cd-abbc-4e87-8136-87b58a07ec81', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f6ff5cd-abbc-4e87-8136-87b58a07ec81', 'rel': 'bookmark'}]}, {'uuid': '7d692935-3d02-4053-b973-bf3d7fe3d70c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7d692935-3d02-4053-b973-bf3d7fe3d70c', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d692935-3d02-4053-b973-bf3d7fe3d70c', 'rel': 'bookmark'}]}, {'uuid': '830c64c7-8f91-43a6-ac23-0f3060bcc4fa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/830c64c7-8f91-43a6-ac23-0f3060bcc4fa', 'rel': 'self'}, {'href': 'http://localhost/nodes/830c64c7-8f91-43a6-ac23-0f3060bcc4fa', 'rel': 'bookmark'}]}, {'uuid': '4ea5e5d2-65e4-4ede-a8f6-a98b37849d70', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4ea5e5d2-65e4-4ede-a8f6-a98b37849d70', 'rel': 'self'}, {'href': 'http://localhost/nodes/4ea5e5d2-65e4-4ede-a8f6-a98b37849d70', '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-04-19T16:14:40.743266+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?instance_uuid=b67979dd-3172-41d2-8206-f7ea07588f33 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b2c65971-7cd8-41d0-ab4c-b681c045f2c0', 'instance_uuid': 'b67979dd-3172-41d2-8206-f7ea07588f33', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b2c65971-7cd8-41d0-ab4c-b681c045f2c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/b2c65971-7cd8-41d0-ab4c-b681c045f2c0', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=20d29c30-5616-44fb-9890-a504f14444ac {} 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-04-19T16:14:41.112246+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.148776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.123755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.077039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.156730s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:41.112246+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-04-19T16:14:41.246928+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-04-19T16:14:41.298536+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.118271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.244997s] ... ok 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-1f2486fa-a683-48b8-8408-3ee6142c9de0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/daae9a5c-5446-41aa-a7d3-48fd1f8551ee [{'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-07a8122a-3a49-4b74-b34d-4ae2f36e0f36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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 daae9a5c-5446-41aa-a7d3-48fd1f8551ee can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] 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-6f65c390-5a02-47ea-a6e7-5b25dcda3fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-4ab13820-7e14-4d43-8b35-7841de12a072 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3c38f062-2658-4c69-b99e-67a8e687f86f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6f8502cb-6abc-41cb-9267-741e91d520bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-bbf0081b-7ce9-49db-8c21-d2ad2404aef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8352f519-4f8e-4955-96a4-46ef085b315d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0b8a7842-7009-4490-8606-ef09462903b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/d44e7243-f98f-4217-bb67-d0afd945f7d7 [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'fb2ba0a8-7943-410e-b25d-ffb2be20416a'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dbd4dfe-badd-470d-aeb9-d4d0c9358e55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/5686c07d-3d0a-4491-81b6-c3390fb51b30 [{'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-a95837b2-264b-4729-bcf8-e591ec197121 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/a6f5fecb-3381-449c-826f-f3ecba430c2f [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.130953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.130767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.091960s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f5cb7005-5771-4984-b89a-b7f653be361c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f5cb7005-5771-4984-b89a-b7f653be361c', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5cb7005-5771-4984-b89a-b7f653be361c', 'rel': 'bookmark'}]}, {'uuid': '6cd533f5-63af-4db8-8815-c09903ac3681', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6cd533f5-63af-4db8-8815-c09903ac3681', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cd533f5-63af-4db8-8815-c09903ac3681', 'rel': 'bookmark'}]}, {'uuid': '58464cd0-f4cb-44df-be76-4be70ec14908', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/58464cd0-f4cb-44df-be76-4be70ec14908', 'rel': 'self'}, {'href': 'http://localhost/nodes/58464cd0-f4cb-44df-be76-4be70ec14908', '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/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{} 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/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5c927ea7-c064-4da2-8d44-f57ef57d0ef7 {} DEBUG util.py:445: GOT:{'uuid': '5c927ea7-c064-4da2-8d44-f57ef57d0ef7', 'created_at': '2023-04-19T16:14:40.399744+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5c927ea7-c064-4da2-8d44-f57ef57d0ef7', 'rel': 'self'}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-881e9944-5bdc-437d-89a8-41a6c80804db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:40.887445+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b206317f-c5be-4ebb-ac32-31bac7b0bba4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-8dd87369-8191-4595-87a5-0ba0f14a0d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-e5442c13-6ec0-4bda-a914-88f1377f582e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:41.302315+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/b80219a8-addc-4d1f-b98d-0bff9db88295 [{'path': '/description', 'value': 'foo', 'op': 'replace'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.255860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.148714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.510696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.245110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.117222s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:41.298536+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-04-19T16:14:41.860040+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-04-19T16:14:41.860040+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.091386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [1.143001s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:41.924314+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-04-19T16:14:41.924314+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-04-19T16:14:42.051559+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.141257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.143787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.121717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.330014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.480080s] ... 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-7fa9ba3a-3c79-4f2b-baea-b973e3df1857 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} DEBUG util.py:445: GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'allocation_uuid': 'cc4902d4-5e24-4d88-853a-86a20cf7b4bf'} 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-04-19T16:14:40.846716+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:40.846716+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/7518e0e0-527e-4b3e-8e14-b68111ecceb9 {} DEBUG util.py:445: GOT:{'uuid': '7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'created_at': '2023-04-19T16:14:41.041325+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/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9 {} DEBUG util.py:445: GOT:{'uuid': '7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'created_at': '2023-04-19T16:14:41.041325+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/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9 {} DEBUG util.py:445: GOT:{'uuid': '7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'created_at': '2023-04-19T16:14:41.041325+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/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/7518e0e0-527e-4b3e-8e14-b68111ecceb9/ports', '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-926b7ec1-c4b0-4fbf-a3e0-d17502b7f65a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?project=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36013f54-988d-4c02-aee7-8abee8196b2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.080220s] ... 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-a1bc5a10-a112-410d-983f-322d0ca300b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "b80219a8-addc-4d1f-b98d-0bff9db88295", "created_at": "2023-04-19T16:14:41.556969+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295", "rel": "self"}, {"href": "http://localhost/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/ports", "rel": "self"}, {"href": "http://localhost/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/states", "rel": "self"}, {"href": "http://localhost/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/volume", "rel": "self"}, {"href": "http://localhost/nodes/b80219a8-addc-4d1f-b98d-0bff9db88295/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0 [{'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-29b35493-714d-45f3-86ce-6babf813f6cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "083e86bb-86c6-480b-855d-e23f8aa3b7a0", "created_at": "2023-04-19T16:14:41.873634+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0", "rel": "self"}, {"href": "http://localhost/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/states", "rel": "self"}, {"href": "http://localhost/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/083e86bb-86c6-480b-855d-e23f8aa3b7a0/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.547793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.158039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.246142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.054841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.297247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.118899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.444859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.198390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.093058s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:42.448095+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-04-19T16:14:42.634255+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:42.634255+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.218673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.116479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.212643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.232205s] ... 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-12848e1b-9885-4418-bb13-37f1ccd54ace DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "5c0475e1-8626-46bb-b304-6880447080b5", "created_at": "2023-04-19T16:14:42.179273+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5", "rel": "self"}, {"href": "http://localhost/nodes/5c0475e1-8626-46bb-b304-6880447080b5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/5c0475e1-8626-46bb-b304-6880447080b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5/states", "rel": "self"}, {"href": "http://localhost/nodes/5c0475e1-8626-46bb-b304-6880447080b5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5c0475e1-8626-46bb-b304-6880447080b5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5c0475e1-8626-46bb-b304-6880447080b5/volume", "rel": "self"}, {"href": "http://localhost/nodes/5c0475e1-8626-46bb-b304-6880447080b5/volume", "rel": "bookmark"}]} 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-0da27069-7c2f-46d5-abb9-3c7af3e67f88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-d8d4e20b-07b7-4ade-82f0-3a7bb4f47b16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-d59e82fa-9f98-4ba6-b73a-678c6caf9883 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-719fcd86-0ddd-4327-b098-ddaa7b23b902 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /console_enabled. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5756d346-9b59-47bf-8c8a-3a858ace6977 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.180751s] ... 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-d1a1a353-9bf5-441e-931a-994d4678319a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/27032eec-efa3-4ab6-91b4-7edaabae41bb [{'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-d1956f28-6861-4a4b-8dfe-d1e3266707d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-4a4587e9-a9db-45ac-a62e-3fd1cb3cf66d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91f29e97-1294-4809-a0b5-cf07a2098e20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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_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-0da3d85e-d985-4874-beee-4d6034ab0443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/d4864c79-988f-49a0-b5f9-e826907cab9e [{'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-eecd8ff8-e0c1-43d6-908f-fdcf512953b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d4864c79-988f-49a0-b5f9-e826907cab9e", "created_at": "2023-04-19T16:14:42.226031+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e", "rel": "self"}, {"href": "http://localhost/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/states", "rel": "self"}, {"href": "http://localhost/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4864c79-988f-49a0-b5f9-e826907cab9e/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/53df141c-cee5-4ef7-80f7-68e8dbfc8f85 [{'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-7afded36-6bda-43db-ac94-7f2b991dbd57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/a00f2afd-d881-4350-a323-f5b58386c91d [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:42.900133+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:43.061150+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-04-19T16:14:43.061150+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.185788s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:42.051559+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': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/eggs/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00'} DEBUG util.py:445: GET: /v1/nodes/4330e3c3-2bd9-44c5-aa69-fb3eac8f6db7/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': True} DEBUG util.py:445: GET: /v1/nodes/42e665a7-75b9-42c1-85b1-dda44c02398a/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': False} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:43.307230+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.218523s] ... 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-cc0d9f76-de97-4567-a567-bbf59abd8c90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'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-e4507eff-ab33-499d-ba0c-89483cc9e46e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.169235s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:43.264294+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-04-19T16:14:43.264294+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-04-19T16:14:43.437557+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/2b7155ec-b799-4fcd-806b-29e1ed595472 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.055889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.285378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.427232s] ... 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-84268337-4bc2-4b5f-b0fc-d1f33da7b4ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'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-be15fe08-d3b4-413a-adc6-a71b3d96c01c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.106583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.062474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.167036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.244487s] ... 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-8dc5a2d0-0097-46f2-b16e-e82d64191831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'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-83524697-c0d4-4e5d-a635-cd4b6e6c2841 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:{'uuid': '2b7155ec-b799-4fcd-806b-29e1ed595472', 'created_at': '2023-04-19T16:14:43.577600+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/2b7155ec-b799-4fcd-806b-29e1ed595472', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b7155ec-b799-4fcd-806b-29e1ed595472/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e {} DEBUG util.py:445: GOT:{'uuid': '8a56dbcc-1f6f-4497-b531-61db5104460e', 'created_at': '2023-04-19T16:14:43.594091+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/8a56dbcc-1f6f-4497-b531-61db5104460e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a56dbcc-1f6f-4497-b531-61db5104460e/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-04-19T16:14:43.662875+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.227110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.116577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [1.136053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.190532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.196098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.237395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.066652s] ... 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-939ae7e6-554b-4c42-8695-8bfa97b6c080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:43.108747+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-d325885c-8a13-493d-b763-f3f78d022b30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:43.453646+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/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-86206cd0-30d5-441d-b894-be41f1d86bba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6 [{'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-9d8e7083-499a-4fb4-b0cc-f9977e35abdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e4c7e7c3-9b45-4b95-871f-f0177b94d1f6", "created_at": "2023-04-19T16:14:43.852087+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6", "rel": "self"}, {"href": "http://localhost/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/ports", "rel": "self"}, {"href": "http://localhost/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/states", "rel": "self"}, {"href": "http://localhost/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/volume", "rel": "self"}, {"href": "http://localhost/nodes/e4c7e7c3-9b45-4b95-871f-f0177b94d1f6/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/c6a2046a-5ecf-4249-8378-307d3906cbe2 [{'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-d414c3aa-1481-4697-835d-f19d349c11da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "c6a2046a-5ecf-4249-8378-307d3906cbe2", "created_at": "2023-04-19T16:14:44.024361+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/c6a2046a-5ecf-4249-8378-307d3906cbe2", "rel": "self"}, {"href": "http://localhost/nodes/c6a2046a-5ecf-4249-8378-307d3906cbe2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c6a2046a-5ecf-4249-8378-307d3906cbe2/ports", "rel": "self"}, {"href": "http://localhost/nodes/c6a2046a-5ecf-4249-8378-307d3906cbe2/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/83f3a3ea-175a-4e90-bfb4-f5e8169ef69f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.187156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.041040s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.174103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.412107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.134142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.200849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.170547s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.243393s] ... 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-597d87fe-67ce-44f6-9445-a96ac349a353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d [{'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-0cf4c029-24e7-47d3-94fc-d7e5dc832afc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a00f2afd-d881-4350-a323-f5b58386c91d", "created_at": "2023-04-19T16:14:43.136868+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/a00f2afd-d881-4350-a323-f5b58386c91d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f [{'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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.695177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.165564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.192416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.211830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.310731s] ... 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-5b30fd33-5b5b-47a8-a886-899013d5b9e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "83f3a3ea-175a-4e90-bfb4-f5e8169ef69f", "created_at": "2023-04-19T16:14:44.203828+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/83f3a3ea-175a-4e90-bfb4-f5e8169ef69f", "rel": "self"}, {"href": "http://localhost/nodes/83f3a3ea-175a-4e90-bfb4-f5e8169ef69f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/83f3a3ea-175a-4e90-bfb4-f5e8169ef69f/ports", "rel": "self"}, {"href": "http://localhost/nodes/83f3a3ea-175a-4e90-bfb4-f5e8169ef69f/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/129cce76-1256-47d6-9044-1d64f93590ee [{'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-22ca3857-7987-435f-86d8-dd1871b701f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "129cce76-1256-47d6-9044-1d64f93590ee", "created_at": "2023-04-19T16:14:44.423052+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/129cce76-1256-47d6-9044-1d64f93590ee", "rel": "self"}, {"href": "http://localhost/nodes/129cce76-1256-47d6-9044-1d64f93590ee", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/129cce76-1256-47d6-9044-1d64f93590ee/ports", "rel": "self"}, {"href": "http://localhost/nodes/129cce76-1256-47d6-9044-1d64f93590ee/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/129cce76-1256-47d6-9044-1d64f93590ee/states", "rel": "self"}, {"href": "http://localhost/nodes/129cce76-1256-47d6-9044-1d64f93590ee/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/129cce76-1256-47d6-9044-1d64f93590ee/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/129cce76-1256-47d6-9044-1d64f93590ee/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/129cce76-1256-47d6-9044-1d64f93590ee/volume", "rel": "self"}, {"href": "http://localhost/nodes/129cce76-1256-47d6-9044-1d64f93590ee/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3 [{'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-7a089154-a4e0-42ef-82a7-03ddd51d3b04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "79b98998-d0f8-44f3-a348-96e2bd27f8a3", "created_at": "2023-04-19T16:14:44.577156+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/79b98998-d0f8-44f3-a348-96e2bd27f8a3", "rel": "self"}, {"href": "http://localhost/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/ports", "rel": "self"}, {"href": "http://localhost/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/states", "rel": "self"}, {"href": "http://localhost/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/volume", "rel": "self"}, {"href": "http://localhost/nodes/79b98998-d0f8-44f3-a348-96e2bd27f8a3/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-439ea45a-73e0-4961-81fe-d80a4ad4d61f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/d1c226d0-cedf-4893-876c-797314248291 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.298426s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:43.814915+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'} 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:44.330238+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:44.477103+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-2ab63dcb-8140-4da8-ad5f-3b20ee177fb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c855c751-ea38-4034-a2cf-ad551e347a7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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?associated=False&limit=2 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.216793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.126811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.066440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.347483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.150816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.316896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.438988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.217804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.094059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.109960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.245401s] ... 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-05455cd4-7f87-466b-8b88-d89d9afa2d47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "dcab886f-dff4-4d9b-ba93-d311fdf5f41f", "created_at": "2023-04-19T16:14:44.379169+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/dcab886f-dff4-4d9b-ba93-d311fdf5f41f", "rel": "self"}, {"href": "http://localhost/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/ports", "rel": "self"}, {"href": "http://localhost/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/states", "rel": "self"}, {"href": "http://localhost/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/volume", "rel": "self"}, {"href": "http://localhost/nodes/dcab886f-dff4-4d9b-ba93-d311fdf5f41f/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/124e573c-d4be-46a5-92a2-dce79dff4948 [{'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-0c8fd4dd-6888-4655-96b3-03e651a08b04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae [{'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-baa94352-d4ec-4b2d-b9a2-6945abc25e9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae", "created_at": "2023-04-19T16:14:45.276696+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/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae", "rel": "self"}, {"href": "http://localhost/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/ports", "rel": "self"}, {"href": "http://localhost/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/states", "rel": "self"}, {"href": "http://localhost/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/volume", "rel": "self"}, {"href": "http://localhost/nodes/7e43d9a3-89e2-4c6d-80d2-80fa4a8802ae/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/05986f49-84c6-4826-b984-ac492d9047e0 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.251846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.358580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.205038s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:43.307230+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fields=uuid,provision_state,maintenance,instance_uuid,last_error {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'provision_state': 'available', 'maintenance': False, 'instance_uuid': None, 'last_error': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '6a1e7b04-e68a-4566-89d3-1d2aed18555d', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6a1e7b04-e68a-4566-89d3-1d2aed18555d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6a1e7b04-e68a-4566-89d3-1d2aed18555d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '70945f85-acf5-4bff-8dbf-0ac07b3547f7', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/70945f85-acf5-4bff-8dbf-0ac07b3547f7', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/70945f85-acf5-4bff-8dbf-0ac07b3547f7', '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': '6a1e7b04-e68a-4566-89d3-1d2aed18555d', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6a1e7b04-e68a-4566-89d3-1d2aed18555d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6a1e7b04-e68a-4566-89d3-1d2aed18555d', '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=6a1e7b04-e68a-4566-89d3-1d2aed18555d'} 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-d9768070-a54d-4fdb-b1a5-60b07af04279 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7ce555d2-ea05-4938-b5c9-4f296b01c1ec', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7ce555d2-ea05-4938-b5c9-4f296b01c1ec', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7ce555d2-ea05-4938-b5c9-4f296b01c1ec', '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': 'fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fadaf2f5-b1ac-4098-a0da-17c8b0fd912f', '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=fadaf2f5-b1ac-4098-a0da-17c8b0fd912f'} DEBUG util.py:445: GET: /v1/nodes/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52949728-59fc-4651-84c8-b0a16b469372 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8eae3c9-a973-4f5b-be83-2e95763dbec5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.133750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.197321s] ... 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-9edeb0af-a200-467d-86d5-6e8129c1b67c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "d1c226d0-cedf-4893-876c-797314248291", "created_at": "2023-04-19T16:14:44.995368+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/d1c226d0-cedf-4893-876c-797314248291", "rel": "self"}, {"href": "http://localhost/nodes/d1c226d0-cedf-4893-876c-797314248291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d1c226d0-cedf-4893-876c-797314248291/ports", "rel": "self"}, {"href": "http://localhost/nodes/d1c226d0-cedf-4893-876c-797314248291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d1c226d0-cedf-4893-876c-797314248291/states", "rel": "self"}, {"href": "http://localhost/nodes/d1c226d0-cedf-4893-876c-797314248291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d1c226d0-cedf-4893-876c-797314248291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d1c226d0-cedf-4893-876c-797314248291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d1c226d0-cedf-4893-876c-797314248291/volume", "rel": "self"}, {"href": "http://localhost/nodes/d1c226d0-cedf-4893-876c-797314248291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0832205d-c100-478a-bfe0-76e93e375a3d [{'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-a34f086e-e27b-4e7b-8938-f2a661bcc975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "0832205d-c100-478a-bfe0-76e93e375a3d", "created_at": "2023-04-19T16:14:45.353128+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/0832205d-c100-478a-bfe0-76e93e375a3d", "rel": "self"}, {"href": "http://localhost/nodes/0832205d-c100-478a-bfe0-76e93e375a3d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/ports", "rel": "self"}, {"href": "http://localhost/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/states", "rel": "self"}, {"href": "http://localhost/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/volume", "rel": "self"}, {"href": "http://localhost/nodes/0832205d-c100-478a-bfe0-76e93e375a3d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-247bdb1c-6067-4ca5-88ad-dffc3e59fa5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:45.602448+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/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.247808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.311107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.460949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.257704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.299102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.242893s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd6f10a1a-7da2-4e85-b285-b03343d6e276', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d6f10a1a-7da2-4e85-b285-b03343d6e276', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6f10a1a-7da2-4e85-b285-b03343d6e276', 'rel': 'bookmark'}]}, {'uuid': '4f7b5873-b939-47cc-923a-3894e2f77b89', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4f7b5873-b939-47cc-923a-3894e2f77b89', 'rel': 'self'}, {'href': 'http://localhost/nodes/4f7b5873-b939-47cc-923a-3894e2f77b89', '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=4f7b5873-b939-47cc-923a-3894e2f77b89'} 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-ac40d439-2cfa-497d-9cad-8d9b9c35326f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:45.436531+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/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-55fde38d-76bf-459e-8689-3b1a149052ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/history {} DEBUG util.py:445: GOT:{'history': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:{'history': [{'uuid': '21047700-0ec9-4230-8203-96dc05e25363', 'created_at': '2023-04-19T16:14:45.826136+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/21047700-0ec9-4230-8203-96dc05e25363', 'rel': 'self'}]}, {'uuid': '17fdf207-2e51-462a-9695-a273f9aaea8b', 'created_at': '2023-04-19T16:14:45.827361+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/17fdf207-2e51-462a-9695-a273f9aaea8b', 'rel': 'self'}]}, {'uuid': '73f43888-1f6d-48ff-8d19-fbff75fa1ea1', 'created_at': '2023-04-19T16:14:45.850857+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/73f43888-1f6d-48ff-8d19-fbff75fa1ea1', 'rel': 'self'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'bd1259bb-71f8-485c-88bf-bf3145309074', 'created_at': '2023-04-19T16:14:45.959607+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bd1259bb-71f8-485c-88bf-bf3145309074', 'rel': 'self'}]}], 'next': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=bd1259bb-71f8-485c-88bf-bf3145309074'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=bd1259bb-71f8-485c-88bf-bf3145309074 {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'f9ddc222-9c10-4f4f-86d3-a3ec930cebc8', 'created_at': '2023-04-19T16:14:45.960707+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f9ddc222-9c10-4f4f-86d3-a3ec930cebc8', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2023-04-19T16:14:45Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=bd1259bb-71f8-485c-88bf-bf3145309074)&fields=uuid,created_at,severity,event&limit=1&marker=f9ddc222-9c10-4f4f-86d3-a3ec930cebc8"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=f9ddc222-9c10-4f4f-86d3-a3ec930cebc8 {} DEBUG util.py:445: GOT:{'history': [{'uuid': '44cacb43-e7f7-4dfd-b9e3-2f331f7e3b5f', 'created_at': '2023-04-19T16:14:45.971058+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/44cacb43-e7f7-4dfd-b9e3-2f331f7e3b5f', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2023-04-19T16:14:45Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=f9ddc222-9c10-4f4f-86d3-a3ec930cebc8)&fields=uuid,created_at,severity,event&limit=1&marker=44cacb43-e7f7-4dfd-b9e3-2f331f7e3b5f"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.242566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.215830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.283615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.303287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.201227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.348800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.411208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.358212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.376476s] ... 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-9d3f02d8-a596-4841-b663-e0cac27c5b06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 \\\"05986f49-84c6-4826-b984-ac492d9047e0\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884 [{'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-c21d3a6d-1397-4235-9169-9f80ae855a26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "76c2df7a-fe4c-44fd-b0f9-d9946f78e884", "created_at": "2023-04-19T16:14:45.998394+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/76c2df7a-fe4c-44fd-b0f9-d9946f78e884", "rel": "self"}, {"href": "http://localhost/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/ports", "rel": "self"}, {"href": "http://localhost/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/states", "rel": "self"}, {"href": "http://localhost/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/volume", "rel": "self"}, {"href": "http://localhost/nodes/76c2df7a-fe4c-44fd-b0f9-d9946f78e884/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5 [{'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-3074b2b8-0de9-456d-8a10-87e2a30b2763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5", "created_at": "2023-04-19T16:14:46.315090+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/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5", "rel": "self"}, {"href": "http://localhost/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/ports", "rel": "self"}, {"href": "http://localhost/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/states", "rel": "self"}, {"href": "http://localhost/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/volume", "rel": "self"}, {"href": "http://localhost/nodes/2b1a8f93-671d-41f4-a0b8-e9cd15c4b7d5/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d [{'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-844a2894-e227-4b0a-ad86-80fcadf28c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d", "created_at": "2023-04-19T16:14:46.639476+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/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d", "rel": "self"}, {"href": "http://localhost/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d/ports", "rel": "self"}, {"href": "http://localhost/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d/states", "rel": "self"}, {"href": "http://localhost/nodes/5cb2f8a9-cce0-4440-9607-d6a1fcb0ea6d/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/ad0e5b6f-745c-4607-be9b-2f1d693345ee [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.340374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.202864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.095384s] ... 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-00442260-4358-4520-813b-1907f6b8efdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:45.885257+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/5a2befce-e13b-4a47-851e-6de03dc0b4dc [{'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-bcea5acd-ed76-4360-9b88-c7b64554f815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "5a2befce-e13b-4a47-851e-6de03dc0b4dc", "created_at": "2023-04-19T16:14:46.249069+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/5a2befce-e13b-4a47-851e-6de03dc0b4dc", "rel": "self"}, {"href": "http://localhost/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/ports", "rel": "self"}, {"href": "http://localhost/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/states", "rel": "self"}, {"href": "http://localhost/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/volume", "rel": "self"}, {"href": "http://localhost/nodes/5a2befce-e13b-4a47-851e-6de03dc0b4dc/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/9c7c9951-4774-40cb-97a3-e8e1b34fb8f6 [{'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-de8ff888-73d0-4deb-8d89-6a6d5ea565d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 \\\"9c7c9951-4774-40cb-97a3-e8e1b34fb8f6\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/b0645e78-5082-47f9-bcd8-8ffd49e807ca [{'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-ff6a1883-999b-4050-8ff6-b2e518c82a9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/7a0a16b7-37ad-4593-b347-404d7d884aa9 [{'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-dceb56f5-001b-4bfb-afd6-78c652966f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "7a0a16b7-37ad-4593-b347-404d7d884aa9", "created_at": "2023-04-19T16:14:46.989595+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/7a0a16b7-37ad-4593-b347-404d7d884aa9", "rel": "self"}, {"href": "http://localhost/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/ports", "rel": "self"}, {"href": "http://localhost/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/states", "rel": "self"}, {"href": "http://localhost/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/volume", "rel": "self"}, {"href": "http://localhost/nodes/7a0a16b7-37ad-4593-b347-404d7d884aa9/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.483682s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1234 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/nodes/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-f02073cd-cfe5-4b54-a20e-1bc1bcb3c27f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:46.175827+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/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-a0332812-4966-43cf-adff-2648497e6f05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:46.467775+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/0ec73525-e72a-47d1-b7df-5acc9b3493cd [{'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-0204fb6c-f387-4d29-ae2d-5cab7eb58f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "0ec73525-e72a-47d1-b7df-5acc9b3493cd", "created_at": "2023-04-19T16:14:46.842570+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd", "rel": "self"}, {"href": "http://localhost/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/states", "rel": "self"}, {"href": "http://localhost/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/0ec73525-e72a-47d1-b7df-5acc9b3493cd/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c [] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.544133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.485957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.286018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.202382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.156691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.076749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.122166s] ... 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-72a427dd-aa31-49c9-a0e0-f59667b0c885 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd [{'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-ca12a046-0b3a-45a9-8426-4c5ff6bc9caf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "9c90cc67-f660-433a-8565-cc12d7a527cd", "created_at": "2023-04-19T16:14:47.289965+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/9c90cc67-f660-433a-8565-cc12d7a527cd", "rel": "self"}, {"href": "http://localhost/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/states", "rel": "self"}, {"href": "http://localhost/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/9c90cc67-f660-433a-8565-cc12d7a527cd/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0 [{'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-c12663bd-76ae-4011-a885-cabab7161c92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7dc2af44-6734-4cf6-9a42-24dd910f1de0", "created_at": "2023-04-19T16:14:47.400553+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0", "rel": "self"}, {"href": "http://localhost/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/ports", "rel": "self"}, {"href": "http://localhost/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/states", "rel": "self"}, {"href": "http://localhost/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/volume", "rel": "self"}, {"href": "http://localhost/nodes/7dc2af44-6734-4cf6-9a42-24dd910f1de0/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/73e97bd1-4cb4-44a2-94bb-2a64e92fc819 [{'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-a43f50b8-43c1-4b5a-b599-e2c3d9a555c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/8b3bac68-22ed-4d28-84f1-10aa75e3e562 [{'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-06ec719d-0439-4d20-bd3c-24a212562f26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.101459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.163062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.280162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.043037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.080704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.047836s] ... 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-5b05ef8f-8692-449c-892c-8307aed07763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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': {}, '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-be6dc68f-d9df-4ef7-9d66-f106d01739e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:47.976561+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.080181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.042361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.088393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.048636s] ... 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-41a10b8e-5d27-4d42-95ed-b0d660635a0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e2a3026-abec-4ee6-a4ee-a0bc6ee62a3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:46.523176+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-2290d408-730f-460f-a893-c7dd1bc45a94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:46.831907+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/ed970ce2-cfa9-44c3-91ac-ea2819afce07 [{'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-0d7510e8-4b2d-4ee0-b185-0afb6ffd5349 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "ed970ce2-cfa9-44c3-91ac-ea2819afce07", "created_at": "2023-04-19T16:14:47.298475+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/ed970ce2-cfa9-44c3-91ac-ea2819afce07", "rel": "self"}, {"href": "http://localhost/nodes/ed970ce2-cfa9-44c3-91ac-ea2819afce07", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ed970ce2-cfa9-44c3-91ac-ea2819afce07/ports", "rel": "self"}, {"href": "http://localhost/nodes/ed970ce2-cfa9-44c3-91ac-ea2819afce07/ports", "rel": "bookmark"}]} 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-d075aa7c-d2e0-429d-9d07-c5e90de2c42d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e472526d-a4dc-4bff-bfce-435ff51e80ae [{'path': '/allocation_uuid', 'op': 'replace', 'value': '6708374a-8afe-4e2b-8d3d-f09c0f14dd4e'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12f79fb6-1541-4e11-8ede-59c2e3899a84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/430085ca-9686-496d-af7f-902ec1b90316 [{'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-9ce68827-b878-4568-984a-23aa59681cf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/702495a5-91f0-43a5-8db7-569e0718d3a6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.092416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.110339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.053191s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7 [{'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-fa9ab9a6-435c-40ee-98b5-77fbc371a6ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "101bdaa8-ac21-496c-865f-45d16a36d9f7", "created_at": "2023-04-19T16:14:47.423922+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/101bdaa8-ac21-496c-865f-45d16a36d9f7", "rel": "self"}, {"href": "http://localhost/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/ports", "rel": "self"}, {"href": "http://localhost/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/states", "rel": "self"}, {"href": "http://localhost/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/volume", "rel": "self"}, {"href": "http://localhost/nodes/101bdaa8-ac21-496c-865f-45d16a36d9f7/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38 [{'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-6b838ef5-1cb3-4633-b104-2de71060fae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "83d8e360-d960-44a9-a58b-d5c89df62b38", "created_at": "2023-04-19T16:14:47.833185+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/83d8e360-d960-44a9-a58b-d5c89df62b38", "rel": "self"}, {"href": "http://localhost/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38/ports", "rel": "self"}, {"href": "http://localhost/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38/states", "rel": "self"}, {"href": "http://localhost/nodes/83d8e360-d960-44a9-a58b-d5c89df62b38/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/df831a11-0f26-4e4c-93c4-486cedf6c546 [{'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-119055c0-3cbf-4f07-a535-86cd0d1e54f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/e6df330d-1d24-40e5-b448-c26449752f43 [{'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-0bcb73cd-a05f-445d-822a-ddd00da406b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "e6df330d-1d24-40e5-b448-c26449752f43", "created_at": "2023-04-19T16:14:48.068961+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/e6df330d-1d24-40e5-b448-c26449752f43", "rel": "self"}, {"href": "http://localhost/nodes/e6df330d-1d24-40e5-b448-c26449752f43", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e6df330d-1d24-40e5-b448-c26449752f43/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6df330d-1d24-40e5-b448-c26449752f43/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e6df330d-1d24-40e5-b448-c26449752f43/states", "rel": "self"}, {"href": "http://localhost/nodes/e6df330d-1d24-40e5-b448-c26449752f43/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e6df330d-1d24-40e5-b448-c26449752f43/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e6df330d-1d24-40e5-b448-c26449752f43/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e6df330d-1d24-40e5-b448-c26449752f43/volume", "rel": "self"}, {"href": "http://localhost/nodes/e6df330d-1d24-40e5-b448-c26449752f43/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.076603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.129345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.200206s] ... 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-457feea9-a0fc-49ea-986f-a8403fc0082d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "702495a5-91f0-43a5-8db7-569e0718d3a6", "created_at": "2023-04-19T16:14:48.016515+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6", "rel": "self"}, {"href": "http://localhost/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/ports", "rel": "self"}, {"href": "http://localhost/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/states", "rel": "self"}, {"href": "http://localhost/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/volume", "rel": "self"}, {"href": "http://localhost/nodes/702495a5-91f0-43a5-8db7-569e0718d3a6/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/324d701a-581e-4840-b24a-83200ba215c8 [{'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-906f6074-c539-498b-a80e-d0183614558c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "324d701a-581e-4840-b24a-83200ba215c8", "created_at": "2023-04-19T16:14:48.126651+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/324d701a-581e-4840-b24a-83200ba215c8", "rel": "self"}, {"href": "http://localhost/nodes/324d701a-581e-4840-b24a-83200ba215c8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/324d701a-581e-4840-b24a-83200ba215c8/ports", "rel": "self"}, {"href": "http://localhost/nodes/324d701a-581e-4840-b24a-83200ba215c8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/324d701a-581e-4840-b24a-83200ba215c8/states", "rel": "self"}, {"href": "http://localhost/nodes/324d701a-581e-4840-b24a-83200ba215c8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/324d701a-581e-4840-b24a-83200ba215c8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/324d701a-581e-4840-b24a-83200ba215c8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/324d701a-581e-4840-b24a-83200ba215c8/volume", "rel": "self"}, {"href": "http://localhost/nodes/324d701a-581e-4840-b24a-83200ba215c8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5 [{'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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.180028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.081389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.283386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.075177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.217220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.119557s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/6d704f30-a793-4509-a2b9-4240cad6d996 [{'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-2ce8283e-9e43-4642-a301-9d05ae9a13fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "6d704f30-a793-4509-a2b9-4240cad6d996", "created_at": "2023-04-19T16:14:48.138201+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/6d704f30-a793-4509-a2b9-4240cad6d996", "rel": "self"}, {"href": "http://localhost/nodes/6d704f30-a793-4509-a2b9-4240cad6d996", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/ports", "rel": "self"}, {"href": "http://localhost/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/states", "rel": "self"}, {"href": "http://localhost/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/volume", "rel": "self"}, {"href": "http://localhost/nodes/6d704f30-a793-4509-a2b9-4240cad6d996/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': {'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-aabe1580-48c9-4277-bcdd-ce744b23eb11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:48.387443+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-04-19T16:14:48.387443+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': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.197348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.685905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.251008s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:47.976561+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} 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-7e269122-2f88-4a1b-8ae2-88936795aac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc625754-436a-42d2-b954-688fb433cb58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-e538dba8-9cff-4460-b149-626cc88f6c77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:48.752787+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-04-19T16:14:48.752787+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: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b060012-d5be-4199-9cd2-dae946cc1ad1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "89065b9c-fc01-4118-b5c1-84609f1d9c1c", "created_at": "2023-04-19T16:14:47.274575+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c", "rel": "self"}, {"href": "http://localhost/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/ports", "rel": "self"}, {"href": "http://localhost/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/states", "rel": "self"}, {"href": "http://localhost/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/volume", "rel": "self"}, {"href": "http://localhost/nodes/89065b9c-fc01-4118-b5c1-84609f1d9c1c/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-cc1e5f84-ffa8-4449-893f-a4fc69615c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 [{'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-51af5a43-48a0-47f0-8815-915f833c8705 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-9e61ed8b-6c7d-4530-bb7b-fcb504d24b69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', '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-c2985538-0d58-4bac-8d64-dc3b8cd48c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba7faa59-ff99-46c8-b91b-6404a1ed2127 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-4133c66f-7379-4e3a-9d0b-30ef3c790e22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:48.149581+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': '/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-f5d3f9d5-27c2-4e8c-bebd-89594a698537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.300277s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-87eb70cf-6f34-4eab-a21a-79bffdf43b89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:48.628609+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-04-19T16:14:48.628609+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': {}, '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-de4e82d9-fd2e-4d71-aede-3392eda1419c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:48.823855+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.286557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.331946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.282768s] ... ok DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d71c2abf-dbec-4323-bff6-eab06b14e1ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:49.011383+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": "useful stuff", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:49.011383+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': 'useful stuff', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.234210s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:48.823855+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'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-8c9f8a9e-1894-431e-b7b2-0c4c16ed53bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:49.228435+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.401354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.116570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.069645s] ... 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-f1fd4362-89c2-406d-9767-a0e59085ccaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5", "created_at": "2023-04-19T16:14:48.308858+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5", "rel": "self"}, {"href": "http://localhost/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/states", "rel": "self"}, {"href": "http://localhost/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/volume", "rel": "self"}, {"href": "http://localhost/nodes/ff0e88dd-d9d3-4fbf-9cf1-08a13c1a55b5/volume", "rel": "bookmark"}]} 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-4969ca78-0955-48f0-8cd7-d6210d89a20e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-f64ee03c-bbb1-4634-a733-b8ff9f9b9a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-bc8ab842-2126-424d-8784-28eeb73a6adf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0ebb8b3-138d-40ba-a599-087c32933049 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:48.825339+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f88f581d-9de4-4fbc-a1e2-57a5f0e6d882 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/chassis_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.312687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.244507s] ... 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-787914f8-6f2d-42f3-855e-b476ba3628b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:48.659918+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/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'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-d076a5f6-6cbe-47a3-9abd-824c0ebd0dfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'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-e98d5ced-653a-4d35-8b7c-cc5fe66f471b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'path': '/deploy_interface', 'op': 'remove'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.180102s] ... 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-a4ccb9fd-cd66-4632-9a96-74619e276023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'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-ada4c954-1174-4d84-9ffa-a6425db6933b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'path': '/management_interface', 'op': 'remove'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.278483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.242714s] ... 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-2ef0bd46-dc12-4416-aaa7-40287eb61fe4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'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-dcae8e04-4e50-4b45-9eca-4dd39cc28da3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'path': '/raid_interface', 'op': 'remove'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [1.039911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.236003s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.198838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.109290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.218904s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:49.228435+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} 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-9d38aee7-8b8a-4f19-bf5e-91dd98d3cce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:49.515239+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d2296f6-d3b2-4fe5-94e5-77ffbd7c2acd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': {'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-446b0faf-1055-4280-99c2-1564df452bce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:50.059743+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.299454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.232536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.305369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.232162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.137572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.091466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.056500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.144853s] ... 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-a55f91f8-7df0-4434-8c2c-947ef2fe6383 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/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-586637fa-f329-4eb1-98c3-bc44d0e3ce23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-82564d59-6bf7-475e-9424-a8ae86a765b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/2c3ba1ee-e5c2-4468-af79-1351d5588c5b [{'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-48a66ace-0f71-4a2a-ac89-0f655d230c16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "2c3ba1ee-e5c2-4468-af79-1351d5588c5b", "created_at": "2023-04-19T16:14:50.070001+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/2c3ba1ee-e5c2-4468-af79-1351d5588c5b", "rel": "self"}, {"href": "http://localhost/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/ports", "rel": "self"}, {"href": "http://localhost/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/states", "rel": "self"}, {"href": "http://localhost/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/volume", "rel": "self"}, {"href": "http://localhost/nodes/2c3ba1ee-e5c2-4468-af79-1351d5588c5b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2f3f614d-192d-4976-96c3-f08cbbde29f1 [{'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-349cd50c-1c8e-4ca5-8ee1-f72abeeaa675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "2f3f614d-192d-4976-96c3-f08cbbde29f1", "created_at": "2023-04-19T16:14:50.339429+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/2f3f614d-192d-4976-96c3-f08cbbde29f1", "rel": "self"}, {"href": "http://localhost/nodes/2f3f614d-192d-4976-96c3-f08cbbde29f1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2f3f614d-192d-4976-96c3-f08cbbde29f1/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f3f614d-192d-4976-96c3-f08cbbde29f1/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb [{'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-0291c433-2f93-4800-9932-715865f8dd9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb", "created_at": "2023-04-19T16:14:50.459652+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/b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb", "rel": "self"}, {"href": "http://localhost/nodes/b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb/ports", "rel": "self"}, {"href": "http://localhost/nodes/b137fb81-5b55-4475-b6b1-ffb6b2e2bcbb/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75b64caa-b199-4bf6-86fb-cc74e07da85a [{'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-cb3a01f1-3577-4ece-b877-c6ee74d86768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4 [{'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-c2968b51-8fd1-41e8-860e-1293d9e41cc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3994bfdb-0480-49ef-ba92-94c558b5b8b4", "created_at": "2023-04-19T16:14:48.981661+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/3994bfdb-0480-49ef-ba92-94c558b5b8b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c909f8e8-a36b-4c4e-a577-d0ddc0f94173 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/f00c7f64-13dc-48c2-a7ac-a78726404288 [{'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-73247117-ee77-45eb-bf12-a5b07c7522c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/90669045-d209-4240-9213-59d16759749f [{'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-023b86cc-7f66-41fa-9462-efb4901d7e6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.272030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.261520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.415290s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-754141ed-6be7-40fe-b989-f6e8d9797794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'}]} 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-592e04a2-3293-4407-bf3c-14d46ed2dfa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fa29572-b4ab-46ca-96b1-63e6a1078d73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['fake', 'noop'].\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4aa9a28-fc19-40af-a73c-ac3bb0f961b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, '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-966694c6-72bd-4802-911b-8d7da9f90fc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '07a9198d-363d-43fa-96e9-445f9f29ea4f', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/07a9198d-363d-43fa-96e9-445f9f29ea4f DEBUG util.py:445: Openstack-Request-Id: req-47816b7b-d9fa-417f-8863-3046f9f9ac70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "07a9198d-363d-43fa-96e9-445f9f29ea4f", "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/07a9198d-363d-43fa-96e9-445f9f29ea4f", "rel": "self"}, {"href": "http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/ports", "rel": "self"}, {"href": "http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/states", "rel": "self"}, {"href": "http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/volume", "rel": "self"}, {"href": "http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f {} DEBUG util.py:445: GOT:{'uuid': '07a9198d-363d-43fa-96e9-445f9f29ea4f', '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/07a9198d-363d-43fa-96e9-445f9f29ea4f', 'rel': 'self'}, {'href': 'http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/07a9198d-363d-43fa-96e9-445f9f29ea4f/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a805666f-fb43-4366-9d98-d024be0f3b68', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/a805666f-fb43-4366-9d98-d024be0f3b68 DEBUG util.py:445: Openstack-Request-Id: req-7b7045c6-a576-4350-b85e-23f11410a039 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "a805666f-fb43-4366-9d98-d024be0f3b68", "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/a805666f-fb43-4366-9d98-d024be0f3b68", "rel": "self"}, {"href": "http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/ports", "rel": "self"}, {"href": "http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/states", "rel": "self"}, {"href": "http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/volume", "rel": "self"}, {"href": "http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68 {} DEBUG util.py:445: GOT:{'uuid': 'a805666f-fb43-4366-9d98-d024be0f3b68', '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/a805666f-fb43-4366-9d98-d024be0f3b68', 'rel': 'self'}, {'href': 'http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a805666f-fb43-4366-9d98-d024be0f3b68/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '0eb476ac-e916-4fd4-89c6-9fc063ddcc69', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/0eb476ac-e916-4fd4-89c6-9fc063ddcc69 DEBUG util.py:445: Openstack-Request-Id: req-ac3645d0-6f4b-4135-a9da-866865ac7a46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "0eb476ac-e916-4fd4-89c6-9fc063ddcc69", "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/0eb476ac-e916-4fd4-89c6-9fc063ddcc69", "rel": "self"}, {"href": "http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/ports", "rel": "self"}, {"href": "http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/states", "rel": "self"}, {"href": "http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/volume", "rel": "self"}, {"href": "http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69 {} DEBUG util.py:445: GOT:{'uuid': '0eb476ac-e916-4fd4-89c6-9fc063ddcc69', '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/0eb476ac-e916-4fd4-89c6-9fc063ddcc69', 'rel': 'self'}, {'href': 'http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0eb476ac-e916-4fd4-89c6-9fc063ddcc69/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '7b783418-03e7-418c-801d-a9046cd06cd8', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/7b783418-03e7-418c-801d-a9046cd06cd8 DEBUG util.py:445: Openstack-Request-Id: req-575e0ddb-6978-4b10-a5d9-5068d363023c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "7b783418-03e7-418c-801d-a9046cd06cd8", "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/7b783418-03e7-418c-801d-a9046cd06cd8", "rel": "self"}, {"href": "http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/states", "rel": "self"}, {"href": "http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8 {} DEBUG util.py:445: GOT:{'uuid': '7b783418-03e7-418c-801d-a9046cd06cd8', '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/7b783418-03e7-418c-801d-a9046cd06cd8', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b783418-03e7-418c-801d-a9046cd06cd8/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '73213316-c72d-4785-8e88-a00afa561c4d', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/73213316-c72d-4785-8e88-a00afa561c4d DEBUG util.py:445: Openstack-Request-Id: req-b5ea73e3-35d4-4855-a7bb-c17a841d31db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "73213316-c72d-4785-8e88-a00afa561c4d", "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/73213316-c72d-4785-8e88-a00afa561c4d", "rel": "self"}, {"href": "http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/ports", "rel": "self"}, {"href": "http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/states", "rel": "self"}, {"href": "http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/volume", "rel": "self"}, {"href": "http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d {} DEBUG util.py:445: GOT:{'uuid': '73213316-c72d-4785-8e88-a00afa561c4d', '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/73213316-c72d-4785-8e88-a00afa561c4d', 'rel': 'self'}, {'href': 'http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/73213316-c72d-4785-8e88-a00afa561c4d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/73213316-c72d-4785-8e88-a00afa561c4d/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8 DEBUG util.py:445: Openstack-Request-Id: req-a9d48fca-dffd-4cc8-bf0d-39e6992f145c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8", "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/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8", "rel": "self"}, {"href": "http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/ports", "rel": "self"}, {"href": "http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/states", "rel": "self"}, {"href": "http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/volume", "rel": "self"}, {"href": "http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8 {} DEBUG util.py:445: GOT:{'uuid': '3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8', '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/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a3ac110-3d3a-47c7-9fa5-d74abe92bfa8/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'f57a78ea-0624-4f7e-b500-3bdbccdae657', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/f57a78ea-0624-4f7e-b500-3bdbccdae657 DEBUG util.py:445: Openstack-Request-Id: req-c8bffcca-7a63-4ee9-b41a-15e3ca7f6cf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "f57a78ea-0624-4f7e-b500-3bdbccdae657", "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/f57a78ea-0624-4f7e-b500-3bdbccdae657", "rel": "self"}, {"href": "http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/ports", "rel": "self"}, {"href": "http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/states", "rel": "self"}, {"href": "http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/volume", "rel": "self"}, {"href": "http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657 {} DEBUG util.py:445: GOT:{'uuid': 'f57a78ea-0624-4f7e-b500-3bdbccdae657', '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/f57a78ea-0624-4f7e-b500-3bdbccdae657', 'rel': 'self'}, {'href': 'http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f57a78ea-0624-4f7e-b500-3bdbccdae657/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '24a1979e-4645-4b26-bf4f-e13efd277e20', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/24a1979e-4645-4b26-bf4f-e13efd277e20 DEBUG util.py:445: Openstack-Request-Id: req-505091f6-3eed-4c5e-946e-840f3ff4e431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "24a1979e-4645-4b26-bf4f-e13efd277e20", "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/24a1979e-4645-4b26-bf4f-e13efd277e20", "rel": "self"}, {"href": "http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/ports", "rel": "self"}, {"href": "http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/states", "rel": "self"}, {"href": "http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/volume", "rel": "self"}, {"href": "http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20 {} DEBUG util.py:445: GOT:{'uuid': '24a1979e-4645-4b26-bf4f-e13efd277e20', '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/24a1979e-4645-4b26-bf4f-e13efd277e20', 'rel': 'self'}, {'href': 'http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/24a1979e-4645-4b26-bf4f-e13efd277e20/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '038df3d5-661c-4b51-a426-6ac07d8700ec', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/038df3d5-661c-4b51-a426-6ac07d8700ec DEBUG util.py:445: Openstack-Request-Id: req-2d1c2d52-74a3-433f-a4f7-5fa72393806b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "038df3d5-661c-4b51-a426-6ac07d8700ec", "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/038df3d5-661c-4b51-a426-6ac07d8700ec", "rel": "self"}, {"href": "http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/ports", "rel": "self"}, {"href": "http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/states", "rel": "self"}, {"href": "http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/volume", "rel": "self"}, {"href": "http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec {} DEBUG util.py:445: GOT:{'uuid': '038df3d5-661c-4b51-a426-6ac07d8700ec', '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/038df3d5-661c-4b51-a426-6ac07d8700ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/038df3d5-661c-4b51-a426-6ac07d8700ec/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'd81880ac-f3bb-4218-bcca-1eef7518698d', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/d81880ac-f3bb-4218-bcca-1eef7518698d DEBUG util.py:445: Openstack-Request-Id: req-049f304b-2ca2-411b-ad1f-66c67a0098ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "d81880ac-f3bb-4218-bcca-1eef7518698d", "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/d81880ac-f3bb-4218-bcca-1eef7518698d", "rel": "self"}, {"href": "http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/ports", "rel": "self"}, {"href": "http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/states", "rel": "self"}, {"href": "http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/volume", "rel": "self"}, {"href": "http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d {} DEBUG util.py:445: GOT:{'uuid': 'd81880ac-f3bb-4218-bcca-1eef7518698d', '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/d81880ac-f3bb-4218-bcca-1eef7518698d', 'rel': 'self'}, {'href': 'http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d81880ac-f3bb-4218-bcca-1eef7518698d/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'ea8d984d-f789-470d-aa59-ad70efc72a02', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/ea8d984d-f789-470d-aa59-ad70efc72a02 DEBUG util.py:445: Openstack-Request-Id: req-1c4994f2-d31d-4a5d-b207-980ca1ff883d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "ea8d984d-f789-470d-aa59-ad70efc72a02", "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/ea8d984d-f789-470d-aa59-ad70efc72a02", "rel": "self"}, {"href": "http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/ports", "rel": "self"}, {"href": "http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/states", "rel": "self"}, {"href": "http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/volume", "rel": "self"}, {"href": "http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02 {} DEBUG util.py:445: GOT:{'uuid': 'ea8d984d-f789-470d-aa59-ad70efc72a02', '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/ea8d984d-f789-470d-aa59-ad70efc72a02', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ea8d984d-f789-470d-aa59-ad70efc72a02/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.192786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.073863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.170314s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:50.059743+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'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-4486b184-fb44-45eb-aa18-c127d8a55c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:50.391324+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:50.391324+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7f08427-e83b-463f-b217-7430dde71df1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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/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-c740cb0b-da9c-4dff-82c7-9af34753d0d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 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-9f5cc321-98b7-47cf-ba45-abbd20eed29f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-f50e789c-f026-43f3-a0c8-23dba7ef22e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-d9f4a64b-44fe-4b49-a423-9a1405176c20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-1dc8dffd-d251-4983-98d4-15a37eef627b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'unsupported-efi'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.265619s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/8c619040-dfa7-458e-82b3-8f874e888b42 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e591435e-ed09-4df5-a7ba-3b9b40aef7c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-aa8d0dea-cd0a-4a56-808c-24801935adf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b [{'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-0e3b14ce-a51c-468e-9e88-f35010eba56d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "f1ce38a8-c62f-4dc5-b246-0449aa1daf1b", "created_at": "2023-04-19T16:14:51.325438+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/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b", "rel": "self"}, {"href": "http://localhost/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/ports", "rel": "self"}, {"href": "http://localhost/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/states", "rel": "self"}, {"href": "http://localhost/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/volume", "rel": "self"}, {"href": "http://localhost/nodes/f1ce38a8-c62f-4dc5-b246-0449aa1daf1b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.104641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.190596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.147950s] ... 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-bd20e6a3-ae30-45f3-81ff-6f2e173e683e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "75b64caa-b199-4bf6-86fb-cc74e07da85a", "created_at": "2023-04-19T16:14:50.611732+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/75b64caa-b199-4bf6-86fb-cc74e07da85a", "rel": "self"}, {"href": "http://localhost/nodes/75b64caa-b199-4bf6-86fb-cc74e07da85a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75b64caa-b199-4bf6-86fb-cc74e07da85a/ports", "rel": "self"}, {"href": "http://localhost/nodes/75b64caa-b199-4bf6-86fb-cc74e07da85a/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/54367f19-0273-43d1-9122-4534da79c0c9 [{'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-c9caaaa7-915a-4c05-9cb0-0900367163f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "54367f19-0273-43d1-9122-4534da79c0c9", "created_at": "2023-04-19T16:14:50.695910+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/54367f19-0273-43d1-9122-4534da79c0c9", "rel": "self"}, {"href": "http://localhost/nodes/54367f19-0273-43d1-9122-4534da79c0c9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/54367f19-0273-43d1-9122-4534da79c0c9/ports", "rel": "self"}, {"href": "http://localhost/nodes/54367f19-0273-43d1-9122-4534da79c0c9/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/67b8a9fb-b86a-4aae-a286-03088147a1ac [{'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-b1b4f03b-0fca-4042-b26b-657bae78c54e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "67b8a9fb-b86a-4aae-a286-03088147a1ac", "created_at": "2023-04-19T16:14:50.871873+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/67b8a9fb-b86a-4aae-a286-03088147a1ac", "rel": "self"}, {"href": "http://localhost/nodes/67b8a9fb-b86a-4aae-a286-03088147a1ac", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/67b8a9fb-b86a-4aae-a286-03088147a1ac/ports", "rel": "self"}, {"href": "http://localhost/nodes/67b8a9fb-b86a-4aae-a286-03088147a1ac/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/187ff2f3-4862-4d0b-9a8f-b85855b592fb [{'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-25c1802d-4091-41b7-99b3-03b9f5dca0f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "187ff2f3-4862-4d0b-9a8f-b85855b592fb", "created_at": "2023-04-19T16:14:51.058831+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/187ff2f3-4862-4d0b-9a8f-b85855b592fb", "rel": "self"}, {"href": "http://localhost/nodes/187ff2f3-4862-4d0b-9a8f-b85855b592fb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/187ff2f3-4862-4d0b-9a8f-b85855b592fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/187ff2f3-4862-4d0b-9a8f-b85855b592fb/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a069c457-9b79-4fd1-9665-5eeb782e0fa7 [{'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-7fedf8da-0726-45c0-affd-a1e5d528fefc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "a069c457-9b79-4fd1-9665-5eeb782e0fa7", "created_at": "2023-04-19T16:14:51.196822+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/a069c457-9b79-4fd1-9665-5eeb782e0fa7", "rel": "self"}, {"href": "http://localhost/nodes/a069c457-9b79-4fd1-9665-5eeb782e0fa7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a069c457-9b79-4fd1-9665-5eeb782e0fa7/ports", "rel": "self"}, {"href": "http://localhost/nodes/a069c457-9b79-4fd1-9665-5eeb782e0fa7/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/64cf1149-c045-4c0c-ad1a-911b47b282a4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [1.426971s] ... ok DEBUG util.py:445: POST: /v1/nodes {'uuid': '43073802-6bee-4394-9317-17d1c0bd9fef', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef DEBUG util.py:445: Openstack-Request-Id: req-e5968650-f147-4408-bc82-045a72a8af9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "43073802-6bee-4394-9317-17d1c0bd9fef", "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/43073802-6bee-4394-9317-17d1c0bd9fef", "rel": "self"}, {"href": "http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/ports", "rel": "self"}, {"href": "http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/states", "rel": "self"}, {"href": "http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/volume", "rel": "self"}, {"href": "http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef {} DEBUG util.py:445: GOT:{'uuid': '43073802-6bee-4394-9317-17d1c0bd9fef', '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/43073802-6bee-4394-9317-17d1c0bd9fef', 'rel': 'self'}, {'href': 'http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/43073802-6bee-4394-9317-17d1c0bd9fef/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9524f4cb-1aa9-4065-8ef6-9659e69a38c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.440103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.118670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.169376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.070237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.180063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.257158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.101795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.124213s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de26a52f-6c40-4a13-a162-eaefd716c9d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-f9ed6e4e-dfcf-4705-bc87-71ce9b88a43f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-d9c9b00d-b6be-40e0-8949-ea7119a603e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-bb44929b-c45c-435b-b85a-37494b9916b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-ee5a2c57-02ab-4e44-a4e4-88f4d6ede0e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-d8538d4b-542e-484c-a431-64628213cc30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-247f9889-8033-45b1-9210-79d2ec4cd2f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/26f5ea45-5001-45f2-b6eb-143696e9b99c [{'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-af80748e-f44f-4aa5-a9f6-9ec8591bddf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-e2e3fa61-4475-44d8-827c-cd7da95b6b4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:51.528610+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/1c3b1b20-5215-48c2-8338-490952081957 [{'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-c25660f0-2f3a-453b-91b0-dffbc4cfd6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "1c3b1b20-5215-48c2-8338-490952081957", "created_at": "2023-04-19T16:14:51.718528+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/1c3b1b20-5215-48c2-8338-490952081957", "rel": "self"}, {"href": "http://localhost/nodes/1c3b1b20-5215-48c2-8338-490952081957", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1c3b1b20-5215-48c2-8338-490952081957/ports", "rel": "self"}, {"href": "http://localhost/nodes/1c3b1b20-5215-48c2-8338-490952081957/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1c3b1b20-5215-48c2-8338-490952081957/states", "rel": "self"}, {"href": "http://localhost/nodes/1c3b1b20-5215-48c2-8338-490952081957/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1c3b1b20-5215-48c2-8338-490952081957/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1c3b1b20-5215-48c2-8338-490952081957/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1c3b1b20-5215-48c2-8338-490952081957/volume", "rel": "self"}, {"href": "http://localhost/nodes/1c3b1b20-5215-48c2-8338-490952081957/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.078825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.188434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.204311s] ... 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-c26ad4e7-aa19-448d-8bfd-e3041e5dd8ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "64cf1149-c045-4c0c-ad1a-911b47b282a4", "created_at": "2023-04-19T16:14:51.402543+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/64cf1149-c045-4c0c-ad1a-911b47b282a4", "rel": "self"}, {"href": "http://localhost/nodes/64cf1149-c045-4c0c-ad1a-911b47b282a4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/64cf1149-c045-4c0c-ad1a-911b47b282a4/ports", "rel": "self"}, {"href": "http://localhost/nodes/64cf1149-c045-4c0c-ad1a-911b47b282a4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/6d277290-0421-468e-8d19-9c2158bbe429 [{'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-ff33200c-c508-41a2-b074-3aaa339305c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "6d277290-0421-468e-8d19-9c2158bbe429", "created_at": "2023-04-19T16:14:51.533194+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/6d277290-0421-468e-8d19-9c2158bbe429", "rel": "self"}, {"href": "http://localhost/nodes/6d277290-0421-468e-8d19-9c2158bbe429", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6d277290-0421-468e-8d19-9c2158bbe429/ports", "rel": "self"}, {"href": "http://localhost/nodes/6d277290-0421-468e-8d19-9c2158bbe429/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1d003cf5-0673-4fe5-bee2-e1d7d303d706 [{'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-8a67cb28-c372-4092-8de3-289d96d7ab45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "1d003cf5-0673-4fe5-bee2-e1d7d303d706", "created_at": "2023-04-19T16:14:51.594853+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/1d003cf5-0673-4fe5-bee2-e1d7d303d706", "rel": "self"}, {"href": "http://localhost/nodes/1d003cf5-0673-4fe5-bee2-e1d7d303d706", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1d003cf5-0673-4fe5-bee2-e1d7d303d706/ports", "rel": "self"}, {"href": "http://localhost/nodes/1d003cf5-0673-4fe5-bee2-e1d7d303d706/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/fa86322e-3948-4cfb-8d20-634e4f1b181c [{'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-5539dbd0-28cc-4902-9d98-538ec2c99537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 \\\"fa86322e-3948-4cfb-8d20-634e4f1b181c\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7471a3e6-b16a-4bd3-8dbd-701aedb5b71a [{'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-3366855d-c63b-4937-a346-29cab945e887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/680814fe-eab5-4434-ba3e-89fe62d8a13d [{'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-00da4f67-b69f-4089-a23f-54a4328b82e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.195469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.241797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.121856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.220162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.179989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.336565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.224061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.146417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.316055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.061394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.382409s] ... 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-bc8c697e-69f9-4705-9141-cd84b0617fa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "feb395b7-44d3-41e3-a0c9-5ee16ab1e71a", "created_at": "2023-04-19T16:14:52.047817+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a", "rel": "self"}, {"href": "http://localhost/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/ports", "rel": "self"}, {"href": "http://localhost/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/states", "rel": "self"}, {"href": "http://localhost/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/volume", "rel": "self"}, {"href": "http://localhost/nodes/feb395b7-44d3-41e3-a0c9-5ee16ab1e71a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/04ddfc07-8d03-4ce2-b086-e3737154227a [{'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-3e1711ea-3fa5-449b-a55f-1c428407da92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/a9ee419e-bc24-4ade-915f-5cc05e632700 [{'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-f8de1bc7-ad50-4ac2-93ed-2992265cb38c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.109257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.247324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.117483s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/20826a05-8c06-4953-b8ab-882bd2d12a1d [{'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-76c14a8b-7416-400b-bbe3-dbdadbd54062 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5 [{'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-bd6477ee-3a0c-4f5d-9a4c-41094343ba1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5", "created_at": "2023-04-19T16:14:51.941830+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/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5", "rel": "self"}, {"href": "http://localhost/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/ports", "rel": "self"}, {"href": "http://localhost/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/states", "rel": "self"}, {"href": "http://localhost/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/volume", "rel": "self"}, {"href": "http://localhost/nodes/a8a3f66d-d893-4c8a-8b1b-45e8cf123ea5/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1 [{'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-08e1d2d3-fdf6-430d-9143-d5863f04cf7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "c92a1813-c914-4ff3-b2ac-d851fbd38da1", "created_at": "2023-04-19T16:14:52.289025+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/c92a1813-c914-4ff3-b2ac-d851fbd38da1", "rel": "self"}, {"href": "http://localhost/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/ports", "rel": "self"}, {"href": "http://localhost/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/states", "rel": "self"}, {"href": "http://localhost/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/volume", "rel": "self"}, {"href": "http://localhost/nodes/c92a1813-c914-4ff3-b2ac-d851fbd38da1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/baefec14-9a0a-4ed9-959d-b0f92e15a436 [{'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-9ba06375-33bf-47ad-81f8-f178fb42c134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c48c9ca-6446-4013-8cdf-63157977e030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.113012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.389507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.112794s] ... 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-3c0ec159-eaa2-4b6c-a62c-e44d34460481 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:52.642638+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 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-ba034251-faec-40c9-bfc9-ad0e6fc60fca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '29ca0653-6e8f-4a38-8c25-a2d7efa2aae5', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5 DEBUG util.py:445: Openstack-Request-Id: req-4aeb62b7-8fd4-49a8-b9c0-1600821539dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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": "29ca0653-6e8f-4a38-8c25-a2d7efa2aae5", "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/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5", "rel": "self"}, {"href": "http://localhost/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5/ports", "rel": "self"}, {"href": "http://localhost/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.414191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.149551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.081951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.105762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.376162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.535726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.055431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.096460s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-969840d0-d626-4581-8034-e9ffc92136f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:51.511026+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-04-19T16:14:51.511026+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/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-7fb81746-cb30-41e3-b2af-7aa6b1cacc9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e4969932-1996-48ba-ba16-728b88852cbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo DEBUG util.py:445: 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-d488d472-5e2d-4c75-8098-2a192e8fe1c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"cat": "meow"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-d9f85bb2-dcd3-4f3f-bebf-2a01825c1cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed4492e4-3e26-402a-9bd6-19989f0cceb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power 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-8c1acd62-11ae-4301-8b14-05fdf39ab1bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-2be732ca-aa8c-412f-a95c-9c9ba0a94ae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-f9cf575b-bf7d-4896-933d-78b15bb3b000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-a7824c59-3b06-4674-9073-e703d40c11f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} 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-602e47b4-128b-4372-97ef-e097cf0ced99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} DEBUG util.py:445: GOT:Response: 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-e18e3f9c-f36e-406e-be7f-823d1c8f6683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.083744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.385008s] ... 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.072386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.081089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.077595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.061154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.134375s] ... 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-d42b2ce0-b965-496f-89b7-02370501fcb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-667f62d6-45a0-49ec-9608-8bb8dc9d3818 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-13addf66-c43c-4e84-84a3-619496cd6861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.385261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.069351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.091382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.176679s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.065461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.042666s] ... ok DEBUG util.py:445: GOT:{'uuid': '29ca0653-6e8f-4a38-8c25-a2d7efa2aae5', '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/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5', 'rel': 'self'}, {'href': 'http://localhost/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/29ca0653-6e8f-4a38-8c25-a2d7efa2aae5/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-9f4e80b3-f320-44f2-a4cb-60a2ea8276fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:53.425132+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-04-19T16:14:53.425132+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-04-19T16:14:53.425132+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': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.447659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.092956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.178995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.364759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.053154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.053958s] ... 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.148525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.058224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.051428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.300103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.055169s] ... 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.129449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.065722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.104977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.088669s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-5fe27cd0-e221-423a-848b-057f5cfa09ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:53.637430+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-04-19T16:14:53.637430+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_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-ed33d18d-4d9e-4718-8361-55f9364b9ff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-4d8627dc-89f1-4782-80da-ab83fd7d468e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:54.301042+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.420049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.144299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.383206s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bf6eb40-a58b-44c2-ab93-45e500665eb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-acad140f-502c-4313-8bf7-e9ab9ca91045 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-f395780c-be95-417b-ba11-681766680114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-6943b433-b654-4241-960a-df13502ebbb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5d85b5-2ee6-45ac-ad78-b576ff3fecc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-c0b8b50c-496e-4958-bf0b-21a85aaf37bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-64c55442-a454-452f-bedd-6d7133f35580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-13bf24c3-63fe-4a26-bada-e4d74a9d356b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-3dc5c0a6-8082-43af-996e-5e0141e23a67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-7e63767d-edf4-4b17-a125-f220c62f1ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d499ff5-ae22-4394-a1f8-995e3d8c4ca6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': 'undeploy'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-c7306b75-1e4d-46d6-96ed-3d0cce1ecaff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-8e89c7d8-1a9e-4d22-b7aa-39e181af4000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-871417e2-8d62-4840-b687-8bb2e5c1505a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-b42f0039-f96a-4dcb-9ee8-8c0a8d43914e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3833048d-42cb-4338-9c6b-c520ed177776 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': '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-3810b54f-420b-420a-b0ee-42be9ec94f8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-f99ba7d2-56a7-479e-805b-64c4c92ada93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.133213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.099520s] ... 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-d3467770-578a-48a2-9bc6-8ba43ca014fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-b17b3736-590d-4e14-91f6-83b6b002a001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-0eb7eed7-d7f7-46d0-858d-44c00d883cff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8ec0c13b-0cfd-4f25-b81d-286c42d68b12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.70 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5b11128-44a2-4f40-a7a9-4551e898f51d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-bd7d59bb-fd04-469f-9e15-dc176616acbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-39d490da-e837-44b2-921a-5e9d227a70e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-0af069d6-8192-4c0d-96e1-848f1327c78e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-dc8aab44-3fc6-4298-8afd-a03116f13899 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': 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-232ff4df-2b99-456a-b34d-bf1ab454481e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-aaa7870d-6b7c-410e-87d2-fdc05ee1ffcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f78f0f4b-78b4-4f30-92d1-d88d6cf85495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e91789c-9697-4643-834d-0160fb7735a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-97bd757d-17d9-48bc-9bd3-d968683c36d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-17525207-3909-4052-af1e-7a6292299a9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-39b4a281-fd34-44cc-8e18-48c9304e8362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-65613b06-3c28-43b6-8e1c-a643eaa2f05d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': '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-ae191222-afe9-4539-90e2-8efed282ee3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.121118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.073438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.111896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.075249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.153823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.087950s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:54.301042+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': 'cowsay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} 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': 'catsay', '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-b64a4de1-1726-4888-bff1-c4acf91f1c42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:54.879638+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "catsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_system_scope [0.496169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.361518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.217672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.147370s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-fb60cf69-11f2-4cca-9a79-ba958d0d784a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-e63d7bff-a3f6-48ca-b705-7e18deead937 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c00b8a7-9542-4a58-9e81-c87cacc34169 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} 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-9072ddf7-4a9d-4139-9bff-9d678ebc1fc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.207327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.223406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.250490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.245915s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:54.879638+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': 'catsay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-083a9016-c21b-4b63-a7a3-03bb7ee71e66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'maintenance', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af9660e1-c662-4fd1-952c-1ee50c16933a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-679611b2-b63e-47a7-b09a-ac6a0ca3f909 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-bd0413d6-9862-4ccc-9bbe-c8fc13bef05a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-4a3c3755-8a9e-4e75-b856-e0d21bf64a70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.345803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.248237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.238931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.468873s] ... ok 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-3751709c-8006-4612-ac33-45f7c2adee03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-bc6d6468-3122-44c9-8d07-888068e085d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, '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-e6675dc1-8094-4946-b864-6502eba2e413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b5363179-a40d-462e-be13-6d606f4624a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-3a5120b1-6fa2-4352-8400-99d774244992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f0efa0d8-d996-4ef6-8555-9ca7b12d3267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8347cacb-ab90-4ee1-84f7-e077757a8cfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-239ca3b7-d495-4c46-9f3f-319eaf1d0a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.272044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.297841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.243783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.111911s] ... ok 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-5d7788be-554a-4d66-b549-b0c241262414 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': {}, '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-5a21b94d-c5de-4dbe-bc12-2b8e58cfe7ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:55.458383+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "ravensay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:55.458383+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': 'ravensay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.453947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.080421s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.344330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.088139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.097407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.062555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.826517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.029171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.246123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.077524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.125656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.076550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.227064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.093468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.060654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.118593s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7872d03d-a3b7-41ef-9ad1-f5ff5160bedc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-92c6da3b-52f4-46b0-b36a-a28b1fef8f3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} 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-ef2c42d8-5f1a-4f16-b3e3-387cff9017db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:55.915151+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-04-19T16:14:55.915151+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', '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-464e3ffd-4d69-49c9-a9a7-6b099c548cf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: 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-02a812e8-8fb5-4ff3-8ce5-7d0382c3b1b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-6f226446-aa11-4861-8e56-10c106caef93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3ca5332c-2f47-46c4-946b-2af7416a94f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38a37d79-8940-47aa-ae60-b344352caa28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.459759s] ... ok 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-6a822189-16b9-4e53-9997-7f8c2a07c738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-ddb4f0fa-13ef-46b7-a747-ce99999321a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-ca4f100f-c555-4eff-8c98-b0f6a4182030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce29a860-3292-4ef0-820e-6a772b345281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51b3e259-3f01-4f84-bd70-833983af5d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b5bea207-3c21-4955-acb5-4fb83ec120c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-a3ab79e7-0c35-403f-96d1-f1c25d87ed25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-5ab8d802-c0ca-4476-b18c-e4c1745449fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-e687f7f0-a223-4b60-b23b-1a99d55fbe9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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'} 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-e737ccc8-5fda-4134-83a7-9edfd388b371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': '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-21d453eb-4ede-49fd-b4c0-11604542897b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.56 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': ['aabb']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-131b751e-2747-4bd2-a98a-82c6855da3d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0874990c-0929-4573-bfea-0ef76797a35b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-43be344c-9d69-4dc3-9f27-df8892627a89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-2076b6d8-92b8-4498-a977-6f1f6d91116d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68229b6a-646c-4015-86b1-2149dce1e9e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.260218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.117078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.185386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.087729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.065942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.120035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.297799s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.161514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.138479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.320689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.150634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.165616s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-05b26e1e-5d20-44fe-b17c-328fb6559a07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:14:56.048528+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-04-19T16:14:56.048528+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': 'foo', 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [1.498322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.207129s] ... ok 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-e9e898ae-48bf-4422-ae99-3502bff33687 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-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-f1fef972-78f7-46b9-9f40-72f35178f608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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': '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-a68c9943-d77a-4b55-85ef-e45a354c04b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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_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-17a6b91d-b7d0-4787-a3c1-f3e8103a3ddb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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-619779ad-abd5-42c9-8e31-4ad678674ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-eb99472f-029f-4292-be09-2bd8750a3f2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-359dbf42-ec78-4c1a-bd7d-bd30b567260f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/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-eb0b8e17-9f6e-42fc-ba8a-8f70d6211086 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} DEBUG util.py:445: 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-7781289e-8150-408b-89da-8941934c67a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: 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-1c515939-c36a-47e7-b61d-96a57cf65cc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?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-399cbd27-e4a9-4c92-aade-f489a8f3df9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-c3cc90ae-7cb1-4a93-a6d0-869501455d6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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?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 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:14:57.085247+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-42a5f05a-fad7-4f68-93f9-9c94330d16bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '7273aa85-5921-4236-90f9-bc13f831382e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/7273aa85-5921-4236-90f9-bc13f831382e', 'rel': 'self'}, {'href': 'http://localhost/ports/7273aa85-5921-4236-90f9-bc13f831382e', 'rel': 'bookmark'}]}, {'uuid': 'd0168d4b-08e6-4dc9-bcec-1b205924ef50', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/d0168d4b-08e6-4dc9-bcec-1b205924ef50', 'rel': 'self'}, {'href': 'http://localhost/ports/d0168d4b-08e6-4dc9-bcec-1b205924ef50', 'rel': 'bookmark'}]}, {'uuid': '7731736a-03f2-4aee-a2be-2d74446c0775', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/7731736a-03f2-4aee-a2be-2d74446c0775', 'rel': 'self'}, {'href': 'http://localhost/ports/7731736a-03f2-4aee-a2be-2d74446c0775', 'rel': 'bookmark'}]}]} 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-c2063e17-c576-4525-bec2-b4813cac2f6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.155648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.316741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.307236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.162310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.307344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.157873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.145319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.231292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.135047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.178280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.128976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.253060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.080856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.259082s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-29add150-1df4-43a5-a8be-dcb863f22990 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:57.624262+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-04-19T16:14:57.624262+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'conductor_group': 'foo', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d4cb44b-eb7c-4b6d-9be9-82629dfbcda7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, '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-61940a8f-510b-4b92-9dc2-353534395d39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {'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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.258368s] ... 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.185787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.166026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.184613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.281109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.170022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.214300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.204591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.175347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.156640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.146389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.244665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.157694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.140645s] ... 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.128848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.068267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.121495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.117451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.124434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.174760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.390013s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:14:57.749139+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-04-19T16:14:57.935637+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-04-19T16:14:58.159774+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-04-19T16:14:58.159774+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?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-706021d6-ff96-4422-b421-fa43a55b8cc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?sort_key=uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '4ed70981-8bfa-45dc-ac5f-0c2f31da6f2d', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/4ed70981-8bfa-45dc-ac5f-0c2f31da6f2d', 'rel': 'self'}, {'href': 'http://localhost/ports/4ed70981-8bfa-45dc-ac5f-0c2f31da6f2d', 'rel': 'bookmark'}]}, {'uuid': '64a8fb96-79dc-4d23-97cf-349ab7b48158', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/64a8fb96-79dc-4d23-97cf-349ab7b48158', 'rel': 'self'}, {'href': 'http://localhost/ports/64a8fb96-79dc-4d23-97cf-349ab7b48158', 'rel': 'bookmark'}]}, {'uuid': 'f23b3316-bbf1-4eba-984c-09e30f17d823', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f23b3316-bbf1-4eba-984c-09e30f17d823', 'rel': 'self'}, {'href': 'http://localhost/ports/f23b3316-bbf1-4eba-984c-09e30f17d823', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ffd170b-8e39-43b9-b10f-49dcfb1acaea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:58.653985+00:00", "updated_at": "2023-04-19T16:14:58.735136+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': '/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-4d46e0d1-b508-44e2-bea4-9124731f9829 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-f9a12902-48cb-46ca-b407-413421396978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:59.011179+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': '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-3574a882-d57d-4228-92ad-efcede99d368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:59.140544+00:00", "updated_at": "2023-04-19T16:14:59.174753+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-505c7bba-9a6c-4f15-b0a9-37fae4fbfff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.044422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.141756s] ... ok 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-048d4a0e-3fd7-494f-b98d-0c5e90cc2f9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.13 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca1e7eaa-6e12-404a-9beb-98f7c147399e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12be31cc-e9f5-474a-845e-fe204227cb20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-fbd9614b-59ac-4b38-a21a-c7318664d97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1a732db-f722-43e4-b950-670894f44d49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.16 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41cf3a12-f30f-42c3-8b34-2bdb002df095 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-1d8aa609-9ac8-4934-a8b0-113e6a5e707e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-c2e67cb4-039b-40f0-ba45-9c03cce11027 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': '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-cb54fb22-6da8-411a-8173-a5e3150b161c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-d9ce7702-862d-4393-8f95-db467bb62c1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dab85a8-c0fd-4429-bfae-eebd7e462125 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], '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-2ce5dc7e-6d8f-44b0-adb5-20231f5921f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.69 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"disable_ramdisk is not acceptable in this API version\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-2e9aa9d0-7098-4252-a0e8-9afb99e72a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-2107f352-436c-4cf6-9a2c-f3268d381b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b9b34ef3-1374-4582-8548-da7c8c49827e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-db7f91f4-a6a4-41d4-8f6c-52e11057bda5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.141914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.156961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.113704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.096793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.377877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.080540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.151446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.065586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.125700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.165331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.072204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.073914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.097441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.057783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.118552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.087168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.196405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.064282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.072283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.028101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.025435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.024969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.127311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.049720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.168244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.030261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.064503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.109080s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-b4415e3e-0c2b-4968-9260-c35615566c1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:58.417196+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-04-19T16:14:58.417196+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/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/node-109/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-2afe07ed-483b-44c1-b7c0-3a364a4cb97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-22e144dc-f7b1-4d48-98c1-35d9ea58fbec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-3c3fe8af-e087-4a71-8bf8-caac2ccfe3f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-c9c13278-708e-4a71-84df-c85d2ef0de68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f965cc83-a5f4-4110-b1fb-bb2b3a75123f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-1bce53ce-8cb0-4087-98f9-e2bd41e4e40c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-9691ce73-ddf2-48e2-ae0e-70494154ecb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5061b4ff-668d-4952-963c-4f0736a07015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-776a7307-9a75-4028-9e7a-a9c870f693c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04eede82-e3b0-4826-ba0a-6f8990afed2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': 'inspect'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.139468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.083975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.053732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.156676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.116718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.129117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.095104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.078543s] ... 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.127677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.099478s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.110299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.099100s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6e267a3-9e94-4f35-a861-15d800c23fe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-b834c6b8-c395-45db-aef3-747d9d6498f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d8185c2-b0e3-44fc-8f51-c94dfc175bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:14:59.553847+00:00", "updated_at": "2023-04-19T16:14:59.608330+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-09e9b319-8f14-4207-8422-97d1a3d496e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-335ff4cb-1e4e-4d0f-8650-226c0efb98ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/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-40417870-a35c-4175-acf5-3d267cee608d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:14:59.907644+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '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-573f1114-2751-4426-b9de-b606832478db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:00.201580+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-04-19T16:15:00.201580+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', '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-c75e70d5-e604-4ee5-a6b2-b1d4e27ecc70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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-708079cb-7b57-4a9c-be4e-77077457ccb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.067578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.132204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.065736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.132627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.081041s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.127716s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.050300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.138565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.078221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.152609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.084042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.062978s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-517427bf-e102-4788-b3da-5979b52ed75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': True} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-f19a16fe-8147-4a7e-b86a-34ea10d75846 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-12fc92a1-3432-4f7b-9481-c1d001b08ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-565b9df4-7549-4cb5-a4c3-0e3c2154a444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'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-3385b9c6-097c-4389-ac7f-359a79f755dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-4cbfe101-178a-40d7-9b26-8f1ed55b0389 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-46fc55ce-86a4-412c-97ba-6a4b70a4937e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-a4643dac-ef2d-42f0-ac6f-82da0420caf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-b7e9724f-8c3f-458c-9419-db1494351b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0212e66-c65d-4202-953f-9083bf9bdfc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-0964e0cd-33ca-4da7-b015-dd53c78be481 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-0e72f61a-5d9a-4c81-90b1-88d1ef700d49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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-10ea0ac9-09e9-4801-a983-9e0b6cb03273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2e66aef-dd28-4a77-91b7-009f33ca872e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: 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-4ff41aad-19f5-4047-b402-540a49221c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-6169d070-33c7-41e3-9128-529c336139bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '20104737-cdb7-4603-a9e6-21dba911e024', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/20104737-cdb7-4603-a9e6-21dba911e024', 'rel': 'self'}, {'href': 'http://localhost/ports/20104737-cdb7-4603-a9e6-21dba911e024', 'rel': 'bookmark'}]}, {'uuid': '20ec94f6-9692-47ba-ae4e-0f26e8bd4439', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/20ec94f6-9692-47ba-ae4e-0f26e8bd4439', 'rel': 'self'}, {'href': 'http://localhost/ports/20ec94f6-9692-47ba-ae4e-0f26e8bd4439', 'rel': 'bookmark'}]}, {'uuid': 'd0df667b-2b2b-4ef4-9a68-20a9f6969533', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/d0df667b-2b2b-4ef4-9a68-20a9f6969533', 'rel': 'self'}, {'href': 'http://localhost/ports/d0df667b-2b2b-4ef4-9a68-20a9f6969533', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=d0df667b-2b2b-4ef4-9a68-20a9f6969533'} 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-c0fae89f-93bc-498d-b64e-3628030f0d11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?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-616d78bf-c897-4ec3-b21b-e35f227a0a3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.385369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.209127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.191925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.196698s] ... 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-86adf6ed-4eba-463d-8245-8dfae4a2e139 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-465ef310-0240-4234-a96b-7c0b4bb2e1be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-4d0dd51c-c952-41dd-a9e3-7412849172a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-71056221-4909-4c5d-a08e-e567055d8595 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6dc6e60-1ef9-4a21-b24f-051e96f04b3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'provide', 'clean_steps': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34446161-21e0-415c-b885-dec99d063908 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-9100045f-0742-4e40-8f6c-b9a918689763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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', '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-0f34e030-878f-4372-a70f-3f8aad7810aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '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-a0192970-83e9-413a-9b0c-21ded6021db6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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'} 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-b9f4d650-b8ef-40bb-8dd8-e787bcf9a68b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-006469f1-2fbb-4b42-a149-153d57384680 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-52535d94-a457-453e-9f92-0972dca401b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1b65c57-4a19-4fad-b6c4-1e60490513aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 1} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-a5fb82dd-e68d-4c42-a9b4-06f4c9d10a7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0319e18f-ea60-47d6-a72c-3752fbe8d572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87fb0b21-db6f-4a0c-8b1f-f1a6adb7fe61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid persistent: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.084228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.130648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.142744s] ... 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.145856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.195501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.182807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.183042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.187066s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.158681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.113438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.096280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.209693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.237733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.113694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.119046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.124955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.149811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.134065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.096574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.242556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.080701s] ... 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-4b14bd14-db9e-4692-aeee-e4b5af006405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:00.428954+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-1815db25-fcb9-4880-9435-768ea2d563a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:00.553957+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'} 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-85bee616-ffb6-413c-be93-12c04550c7d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:00.687575+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': 'd6994b98-ac17-4949-96da-2ed76be4133c', '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-cec8af1d-22fb-45be-91d8-72dff92e57ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d6994b98-ac17-4949-96da-2ed76be4133c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42e3e0e3-a1c0-4a49-b57a-70a1daaadfeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': {'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-10edb6f6-8ff5-40d6-9f06-72c3b3a9548f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:01.204307+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/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-68233232-0f78-47ad-9199-2cec3e0d14cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e08d17f1-226f-4ba0-8f57-a74d48d1e836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e7956226-8f27-4b01-830c-a95c33265ab9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: DELETE: /v1/portgroups/blah DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.231388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.260772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.225813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.065716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.352815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.313963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.173654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.099603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.271490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.074443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.124404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.361061s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': 'ee75c5a2-5ebb-4e16-a83b-9418b2c511dd', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ee75c5a2-5ebb-4e16-a83b-9418b2c511dd', 'rel': 'self'}, {'href': 'http://localhost/ports/ee75c5a2-5ebb-4e16-a83b-9418b2c511dd', 'rel': 'bookmark'}]}, {'uuid': 'cd43c77f-0c2e-4641-baa4-b4380fff4259', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/cd43c77f-0c2e-4641-baa4-b4380fff4259', 'rel': 'self'}, {'href': 'http://localhost/ports/cd43c77f-0c2e-4641-baa4-b4380fff4259', 'rel': 'bookmark'}]}, {'uuid': '2eefa903-fe3b-4e4a-a90c-e1be409dc3b2', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/2eefa903-fe3b-4e4a-a90c-e1be409dc3b2', 'rel': 'self'}, {'href': 'http://localhost/ports/2eefa903-fe3b-4e4a-a90c-e1be409dc3b2', 'rel': 'bookmark'}]}]} 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-667cae2e-6f1e-46cf-a4f8-f2e132f1a9bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,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-82f954b3-9f87-44f4-aafc-384a66d62986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:01.435567+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-04-19T16:15:01.435567+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/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'db8ea307-0984-4d3d-8a15-94998f69e83b', 'created_at': '2023-04-19T16:15:01.572408+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/db8ea307-0984-4d3d-8a15-94998f69e83b', 'rel': 'self'}, {'href': 'http://localhost/ports/db8ea307-0984-4d3d-8a15-94998f69e83b', '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-04-19T16:15:01.729839+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': '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/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': '/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-aca6a2c2-2cb9-44eb-af52-f77f6aed06d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:02.075815+00:00", "updated_at": "2023-04-19T16:15:02.213483+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': '/portgroup_uuid', 'value': '37e0e9ef-8db5-45c1-a91a-9e0f09a94999', '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-62494b74-480d-4a5a-bc8b-af7227e7f60f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:02.311293+00:00", "updated_at": "2023-04-19T16:15:02.331479+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": "37e0e9ef-8db5-45c1-a91a-9e0f09a94999"} 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-00ad496c-a870-4f31-974f-6563e54fbd09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:02.375944+00:00", "updated_at": "2023-04-19T16:15:02.408359+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.189676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.318653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.204581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.137424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.342722s] ... 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-320869c4-404c-4672-b12d-4085fa4ed378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35470a82-05ca-4578-9352-0bcbbd3fe10f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-111b939d-3b35-4884-834e-2c2f5fdab0ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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', '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-8bc7c172-9225-462b-ab2e-7501569cbe8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 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-3918c431-1cc1-42ce-9503-ae3e9cd626aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-050a9317-404f-469c-beda-98207bbb2c45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-77e482ec-7661-4ecb-bea9-05e07705de8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-bc06c32c-d87c-41ca-98b0-b269f422e6de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-6ce95392-819c-41bf-850a-5cccdd72cf20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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-0ef47ac8-13b6-45c2-b1f0-d85891cc93ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-49335f35-ef25-4dd2-ad57-5631fb3d5ee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24abcc3e-30f0-4caa-9aa3-1eeb6e3a3da4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-e51b859b-5590-4109-bb3a-af7335023799 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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': '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-1d1ff72b-3176-4e0e-a5c3-8cb9d39a6e38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-02767765-49d7-42e9-b004-f7e5ed7b00f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'boo!'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.502997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.168865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.107919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.276889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.265483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.188269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.121763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.185236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.161869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.030897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.027591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.023604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.512180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.111048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.053912s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.067385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.059654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.046520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.041391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.337571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.059207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.073838s] ... 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-4f8c9e9b-fcb3-4602-8a41-b248410e8b49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 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-116ea3ed-2eda-4e13-bd56-140a8fa691d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-53972ce2-94b5-4f07-b9d7-c49c9e8a6abd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-2824495b-21ee-4c32-91ec-67d48b3b8cec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a950b69-b230-4b88-a5bb-cf5d95469e0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-aeeaab19-c258-49c4-83d7-7962cfd2298f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bcb6762-520b-4834-87d3-a1b251a78dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/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-eacff882-ea52-402b-8b8b-0e259b6e71dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-59d4d7d7-f7d3-42b9-986a-d03df5d0f1f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/nodes/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-b31bd997-6e15-4f62-9e60-30389d01392b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-a8f3286d-d8c2-4ed9-800b-c2b6a52bbe7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-8a778d4a-9344-48b0-9173-83110781995e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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-f3644eac-2ba8-4f28-b0c6-4354ff6da301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6ad0dcee-09d6-45f7-9cd1-b6257596df0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:03.478203+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/detail?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:03.547818+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=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=True {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.058269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.488812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.051736s] ... 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.200022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.130706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.046287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.381619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.097402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.304869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.271325s] ... 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-4f7dbd47-b2c3-4302-ad0f-669935df9703 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-b62c52e8-8087-4284-a100-de6acb1c5745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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', '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-e996048d-7622-4ee0-bb63-d502ef0942dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:02.910261+00:00", "updated_at": "2023-04-19T16:15:02.956730+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-7c1724eb-ff45-453d-bb7e-7e8de4f6f0c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-5f81d43c-ba20-4a65-ac7e-81a8bdd64300 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:03.526439+00:00", "updated_at": "2023-04-19T16:15:03.539419+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-c67331c5-fa7d-4254-bf85-2c7506f0f35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:03.580749+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': '083d0ee3-6591-4672-b546-b8285cd3675b', '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-5bc74a47-92da-4f0a-bf6d-f160bf8ea60a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-e500d557-3e92-45fd-a64b-9d010838ec92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:03.683251+00:00", "updated_at": "2023-04-19T16:15:03.700675+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73514216-d12b-4a16-bad0-c4b389a2c143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/b9e7c0e2-9b64-43c9-90e8-23f1afc3f5f2 [{'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-07193857-3310-48d1-98a6-791d32a91446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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 b9e7c0e2-9b64-43c9-90e8-23f1afc3f5f2 could not be found.\", \"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-b4a0fc5b-c04c-43ab-b3d6-35e89ec40611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:03.913241+00:00", "updated_at": "2023-04-19T16:15:03.948497+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': '', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.139297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.102801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.311798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.063326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.267146s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.330335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.100649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.044386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.220909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.339746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.161941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.374114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.121905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.248510s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.081840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.120074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.321017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.263850s] ... 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-22a0fc85-0419-4a3b-a1fe-d03903a07525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-cef8a4a4-c68a-442f-9520-7b6476414908 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-4b50bc2c-3c41-45e2-bf98-adfb264c7d14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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, '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-1f7ce019-cc44-4462-a76d-9f6382ed87fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-92ce77e6-7c30-4197-babd-98f9cc0fee09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-5ce10689-f38a-4305-8b7c-4bdaae9b9c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:04.705149+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: 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-79b867f6-111e-43fe-94c8-09568818492c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:04.840828+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-8da22088-0899-4b23-ab01-78f32129f6ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:04.923591+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.150516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.057223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.083037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.282430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.242048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.090035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.313414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.122959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.091982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.271450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.071725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.207760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.197615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.344587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.131828s] ... 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-6f46479e-43cb-4c58-a2c8-c51071ded407 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} 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-d224f5b4-c8ec-47e2-8d9a-60475ea695d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5ea406ff-9fcc-46b9-b536-445e7a87f8ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-04-19T16:15:03.114970+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': []} DEBUG util.py:445: GET: /v1/portgroups?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'b0fd1d3e-285a-4680-b514-8f4ef7d69593', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/b0fd1d3e-285a-4680-b514-8f4ef7d69593', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b0fd1d3e-285a-4680-b514-8f4ef7d69593', 'rel': 'bookmark'}]}, {'uuid': 'ca718969-7d57-49ee-ba45-a55181f1bb36', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/ca718969-7d57-49ee-ba45-a55181f1bb36', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ca718969-7d57-49ee-ba45-a55181f1bb36', 'rel': 'bookmark'}]}, {'uuid': 'ce825fc3-e78c-40f1-98a6-a3d31589f05d', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/ce825fc3-e78c-40f1-98a6-a3d31589f05d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ce825fc3-e78c-40f1-98a6-a3d31589f05d', '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-04-19T16:15:04.055792+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=uuid,extra {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '3d308d45-bd4a-4292-9a44-b274bda1f623', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/3d308d45-bd4a-4292-9a44-b274bda1f623', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3d308d45-bd4a-4292-9a44-b274bda1f623', 'rel': 'bookmark'}]}, {'uuid': '9ae38b82-9688-4302-9edc-29de512fcc45', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/9ae38b82-9688-4302-9edc-29de512fcc45', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9ae38b82-9688-4302-9edc-29de512fcc45', 'rel': 'bookmark'}]}, {'uuid': '113d243d-df1e-48df-8239-00a4f8ce699c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/113d243d-df1e-48df-8239-00a4f8ce699c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/113d243d-df1e-48df-8239-00a4f8ce699c', '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/f169cdae-ba2c-435d-a3cd-46ef00378056', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f169cdae-ba2c-435d-a3cd-46ef00378056', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/c65e0dcf-7da6-4f55-b52f-4622831ca595', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c65e0dcf-7da6-4f55-b52f-4622831ca595', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=c65e0dcf-7da6-4f55-b52f-4622831ca595'} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} DEBUG util.py:445: GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-04-19T16:15:05.538030+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/a1434586-231f-4705-af61-2ed2fb74e959 {} DEBUG util.py:445: GOT:{'uuid': 'a1434586-231f-4705-af61-2ed2fb74e959', 'created_at': '2023-04-19T16:15:05.773087+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/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/a1434586-231f-4705-af61-2ed2fb74e959 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.357554s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60cb419c-7ebd-41b6-a2c1-d75a412de50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 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-88331bc2-3afb-44a7-8056-8e6408c16a92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:05.129881+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d08a03c8-af19-4096-a7e4-ffc8fa515fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': {'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-30c8c32f-9591-4af9-94f4-9549a8062c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': {}, '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-53304bd8-5a37-48e2-b048-5bef5c75990e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-cfcf80d2-fd4b-4be8-96b0-29db3f263fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:05.513488+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/52:54:00:cf:2d:31 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} DEBUG util.py:445: GET: /v1/portgroups?fields=address,uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '681cd041-29c9-458c-a757-dea9c4b2b004', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/681cd041-29c9-458c-a757-dea9c4b2b004', 'rel': 'self'}, {'href': 'http://localhost/portgroups/681cd041-29c9-458c-a757-dea9c4b2b004', 'rel': 'bookmark'}]}, {'uuid': '474908aa-36ff-4253-9cef-9eb8532bb702', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/474908aa-36ff-4253-9cef-9eb8532bb702', 'rel': 'self'}, {'href': 'http://localhost/portgroups/474908aa-36ff-4253-9cef-9eb8532bb702', 'rel': 'bookmark'}]}, {'uuid': '4bbf17ea-bc09-4d82-8994-19802aae65cb', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/4bbf17ea-bc09-4d82-8994-19802aae65cb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4bbf17ea-bc09-4d82-8994-19802aae65cb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=4bbf17ea-bc09-4d82-8994-19802aae65cb'} DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-04-19T16:15:05.900809+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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.095190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.047948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.201320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.928444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.337159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.041784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.238310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.210262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.232472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.253692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.172128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.291423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.058676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.096407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.130831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.087728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.313814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.114836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.129398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.059391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.168117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.133142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.275392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.142732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.037198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.064485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.070152s] ... 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-50b474af-e561-418e-a033-fc9b548a98f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-3273aa7b-41fd-4078-a7af-8cb913b34462 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:04.042827+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,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-6304987a-6fd8-4adb-961f-250d221714a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?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-04-19T16:15:04.784645+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-04-19T16:15:04.784645+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-04-19T16:15:04.986597+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/438732a4-7875-4442-8107-b4c057fdda62 {} DEBUG util.py:445: GOT:{'uuid': '438732a4-7875-4442-8107-b4c057fdda62', 'created_at': '2023-04-19T16:15:05.112818+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'self'}, {'href': 'http://localhost/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/438732a4-7875-4442-8107-b4c057fdda62 {} DEBUG util.py:445: GOT:{'uuid': '438732a4-7875-4442-8107-b4c057fdda62', 'created_at': '2023-04-19T16:15:05.112818+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'self'}, {'href': 'http://localhost/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/438732a4-7875-4442-8107-b4c057fdda62 {} DEBUG util.py:445: GOT:{'uuid': '438732a4-7875-4442-8107-b4c057fdda62', 'created_at': '2023-04-19T16:15:05.112818+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'self'}, {'href': 'http://localhost/ports/438732a4-7875-4442-8107-b4c057fdda62', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f7696c8-d740-4204-86c8-2493f757afc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'cecf81e9-2646-4bec-9597-0ef51235c52c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/cecf81e9-2646-4bec-9597-0ef51235c52c', 'rel': 'self'}, {'href': 'http://localhost/ports/cecf81e9-2646-4bec-9597-0ef51235c52c', 'rel': 'bookmark'}]}, {'uuid': 'a6557822-413e-4b51-b3a6-04c17b32f050', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a6557822-413e-4b51-b3a6-04c17b32f050', 'rel': 'self'}, {'href': 'http://localhost/ports/a6557822-413e-4b51-b3a6-04c17b32f050', 'rel': 'bookmark'}]}, {'uuid': '26d25ac4-9dd7-4a47-98fc-f7400af1f200', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/26d25ac4-9dd7-4a47-98fc-f7400af1f200', 'rel': 'self'}, {'href': 'http://localhost/ports/26d25ac4-9dd7-4a47-98fc-f7400af1f200', 'rel': 'bookmark'}]}, {'uuid': '7f310939-b2dc-4daa-8fd5-d45d9c77a981', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/7f310939-b2dc-4daa-8fd5-d45d9c77a981', 'rel': 'self'}, {'href': 'http://localhost/ports/7f310939-b2dc-4daa-8fd5-d45d9c77a981', 'rel': 'bookmark'}]}, {'uuid': 'fbccc399-fb43-414f-8d62-d537f0cb7546', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/fbccc399-fb43-414f-8d62-d537f0cb7546', 'rel': 'self'}, {'href': 'http://localhost/ports/fbccc399-fb43-414f-8d62-d537f0cb7546', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'ec880aae-3cd1-4c7f-9784-3c214bb1557b', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ec880aae-3cd1-4c7f-9784-3c214bb1557b', 'rel': 'self'}, {'href': 'http://localhost/ports/ec880aae-3cd1-4c7f-9784-3c214bb1557b', 'rel': 'bookmark'}]}, {'uuid': 'be02e9c0-6307-4a7a-826e-a63fd8f71980', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/be02e9c0-6307-4a7a-826e-a63fd8f71980', 'rel': 'self'}, {'href': 'http://localhost/ports/be02e9c0-6307-4a7a-826e-a63fd8f71980', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.140749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.088101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.101385s] ... 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-6870ddfd-1ce5-4193-bf34-c3fe594d4d7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value 'boo!', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': ''} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70cac0a6-9f11-43dc-b654-70bf9009b041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-46c260d0-d546-4403-99bc-5c4202f777eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 0} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-7730a703-a1ab-4c48-9158-862dd6808683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 2} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc23a0dd-53a0-454c-957c-f68d63c0bbcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '2', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72105aa7-2539-4e96-8b57-1b3a655a1a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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=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-aa334d1f-1c9b-409f-b51d-1ad6a6ba23b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/node-39/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-5d6060fa-d43a-4656-b774-65ae422efe0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: 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-e681a4c0-748d-47c4-9c46-0e34cd945250 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/nodes/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 {'traits': []} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a1ed68ec-0bd7-4d59-9938-a3f218c2ad57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {'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-653750b9-07be-4ef5-b22c-e1c7223af0b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/c5290c2d-e6ef-45b6-9763-250e9c1efdf4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcf00436-7a35-4cc1-81ac-104d2de5a118 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'de9c4857-c6ac-4f37-ba0f-594e1ab74ba3', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/de9c4857-c6ac-4f37-ba0f-594e1ab74ba3', 'rel': 'self'}, {'href': 'http://localhost/ports/de9c4857-c6ac-4f37-ba0f-594e1ab74ba3', 'rel': 'bookmark'}]}, {'uuid': 'fc7ff148-1ea4-4aa8-9849-fc6a787fe427', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/fc7ff148-1ea4-4aa8-9849-fc6a787fe427', 'rel': 'self'}, {'href': 'http://localhost/ports/fc7ff148-1ea4-4aa8-9849-fc6a787fe427', 'rel': 'bookmark'}]}, {'uuid': '39f2810c-4fd8-4e4f-b93d-89e9a3a89d67', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/39f2810c-4fd8-4e4f-b93d-89e9a3a89d67', 'rel': 'self'}, {'href': 'http://localhost/ports/39f2810c-4fd8-4e4f-b93d-89e9a3a89d67', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=39f2810c-4fd8-4e4f-b93d-89e9a3a89d67'} DEBUG util.py:445: GET: /v1/ports?fields=address,uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'ddaacad8-e1d6-4eab-b24e-3cd95c84a680', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ddaacad8-e1d6-4eab-b24e-3cd95c84a680', 'rel': 'self'}, {'href': 'http://localhost/ports/ddaacad8-e1d6-4eab-b24e-3cd95c84a680', 'rel': 'bookmark'}]}, {'uuid': '6e2ac7a5-ba71-491b-9095-22f5d4972cbd', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/6e2ac7a5-ba71-491b-9095-22f5d4972cbd', 'rel': 'self'}, {'href': 'http://localhost/ports/6e2ac7a5-ba71-491b-9095-22f5d4972cbd', 'rel': 'bookmark'}]}, {'uuid': '9ad8797e-cbc3-4a7e-9022-f19ad0d5e116', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/9ad8797e-cbc3-4a7e-9022-f19ad0d5e116', 'rel': 'self'}, {'href': 'http://localhost/ports/9ad8797e-cbc3-4a7e-9022-f19ad0d5e116', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=9ad8797e-cbc3-4a7e-9022-f19ad0d5e116'} DEBUG util.py:445: GET: /v1/ports?detail=True {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.259210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.318569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.138690s] ... ok 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=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-a36198f6-d0e1-4880-9865-a231fe8f52fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1003e40a-3033-4aaa-86d1-0402900016b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0620f15d-d756-4a6f-bdbc-fd457ef39fac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04-19T16:15:06.610164+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.json {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-04-19T16:15:06.687955+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?sort_key=uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '19ae25a2-0c3d-46cd-a6ef-5d70fb2b2dc6', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/19ae25a2-0c3d-46cd-a6ef-5d70fb2b2dc6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/19ae25a2-0c3d-46cd-a6ef-5d70fb2b2dc6', 'rel': 'bookmark'}]}, {'uuid': '9c41a338-2150-4e82-9e44-0081ba599819', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/9c41a338-2150-4e82-9e44-0081ba599819', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9c41a338-2150-4e82-9e44-0081ba599819', 'rel': 'bookmark'}]}, {'uuid': 'f26c8b9f-e008-4d60-bda5-488f494fdab9', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/f26c8b9f-e008-4d60-bda5-488f494fdab9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f26c8b9f-e008-4d60-bda5-488f494fdab9', '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-c5ef949a-fb67-4b6c-a06b-7c5054703926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-d3643b85-b18f-4dae-85b2-128e7428a733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 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-a7ea33d7-7f46-47c9-8e04-6d3f6063a26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:07.124153+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': '/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-667b4e77-ac5e-4a58-a42c-6783042f0c4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:07.201582+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': '/internal_info', 'value': False, 'op': 'replace'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.147014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.092396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.283177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.094131s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.275108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.228883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.091602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.072628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.296618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.209609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.078515s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.181117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.089714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.179088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.279418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.368722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.204022s] ... 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-11a830d3-cf98-46fd-932f-7f8835776910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /internal_info. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', '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-9bc6005b-0d93-4e19-825d-9893814c5015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-6ed2dc7e-466d-4b59-8d93-6aef5e43807f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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, '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-208bd76f-a474-4c3e-af04-b5004810c547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:07.559513+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/portgroups {'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/795cdb9e-a08a-4949-821b-3c9cff96f3d6 DEBUG util.py:445: Openstack-Request-Id: req-8981d8fe-13db-4dd0-921a-9c1b5e753897 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "795cdb9e-a08a-4949-821b-3c9cff96f3d6", "created_at": "2023-04-19T16:15:07.633828+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/795cdb9e-a08a-4949-821b-3c9cff96f3d6", "rel": "self"}, {"href": "http://localhost/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6/ports", "rel": "self"}, {"href": "http://localhost/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6 {} DEBUG util.py:445: GOT:{'uuid': '795cdb9e-a08a-4949-821b-3c9cff96f3d6', 'created_at': '2023-04-19T16:15:07.633828+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/795cdb9e-a08a-4949-821b-3c9cff96f3d6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/795cdb9e-a08a-4949-821b-3c9cff96f3d6/ports', 'rel': 'bookmark'}]} 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-a7d2678f-eade-469a-a92f-3ff3be279abc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02c27483-76df-48d1-9775-02e6ca9b3524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:07.772504+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-04-19T16:15:07.772504+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-782fbd28-ec5c-4f60-8106-f9a4722896a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.172391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.190632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.204067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.198190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.123932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.175785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.453389s] ... ok DEBUG util.py:445: GOT:{'uuid': 'a1434586-231f-4705-af61-2ed2fb74e959', 'created_at': '2023-04-19T16:15:05.773087+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/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /portgroups/a1434586-231f-4705-af61-2ed2fb74e959 {} DEBUG util.py:445: GOT:{'uuid': 'a1434586-231f-4705-af61-2ed2fb74e959', 'created_at': '2023-04-19T16:15:05.773087+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/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a1434586-231f-4705-af61-2ed2fb74e959/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?address=aa:bb:cc:dd:ee:ff {} DEBUG util.py:445: GOT:{'portgroups': []} DEBUG util.py:445: GET: /v1/portgroups/0a00d670-fd3b-4dd2-8579-19233794b084/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/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-ed0dd029-b4b5-45e3-9b9e-d73baf8eedf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-884c5bfb-a10f-41ae-b02d-d81592e478fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-c0f6d47b-2156-4758-a060-00cad9d6fab1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cefe373d-3558-4629-94c4-3101c9629f89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, '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-b385dbb0-256b-46dc-9e6a-95aecc4598b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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', '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-3df473d1-f15d-4dfb-a3d1-656a65593f6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:08.149782+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-3e80786a-d813-4bd3-a30c-6cedc59157f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.442385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.319811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.097324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.072299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.480278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.094358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.548379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.176268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.138638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.435510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.205030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.753494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.208888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.042476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [1.802452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.476032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.248442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.155399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.138595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.562403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.782683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.510509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.079290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.524968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.405871s] ... ok 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': '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-cc403e26-d13a-4d28-a153-346525b94fe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-c3bc98dc-9dfc-4878-bc2f-092a1855595f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e4cafdb3-3faa-4cb1-b538-38c7dab8ba8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3f255970-d42f-44b6-b205-76cb7d8efde2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-458e79b5-7245-4e30-8e14-f336cbd86247 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3b74bfb8-427c-4cc2-94a2-5e5d0af0b5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d6043885-1368-4256-8bf2-6a4f1bac4713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a8698b54-4623-4e12-a583-8c06320f75df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b2c40835-cc9b-4141-8157-5d9ffac52c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': 'a70e9166-f406-4d42-9a6e-d8cd7e7f5e59', '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/a70e9166-f406-4d42-9a6e-d8cd7e7f5e59', 'rel': 'self'}, {'href': 'http://localhost/nodes/a70e9166-f406-4d42-9a6e-d8cd7e7f5e59', '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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54fba804-b4da-4013-a656-2fdec4c49033 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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=c312d165-f05f-4a47-8f0a-8d49be518361 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'c312d165-f05f-4a47-8f0a-8d49be518361', '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/c312d165-f05f-4a47-8f0a-8d49be518361', 'rel': 'self'}, {'href': 'http://localhost/nodes/c312d165-f05f-4a47-8f0a-8d49be518361', '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=c312d165-f05f-4a47-8f0a-8d49be518361 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'c312d165-f05f-4a47-8f0a-8d49be518361', '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/c312d165-f05f-4a47-8f0a-8d49be518361', 'rel': 'self'}, {'href': 'http://localhost/nodes/c312d165-f05f-4a47-8f0a-8d49be518361', '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=c312d165-f05f-4a47-8f0a-8d49be518361 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.069491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.058393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.087007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.044003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.066908s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': 'f6ff95f5-b74b-4405-8c2a-ccf1944b5af3', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/f6ff95f5-b74b-4405-8c2a-ccf1944b5af3', 'rel': 'self'}, {'href': 'http://localhost/ports/f6ff95f5-b74b-4405-8c2a-ccf1944b5af3', 'rel': 'bookmark'}]}]} 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=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-300c6b85-a45f-46eb-9731-3acce798ba44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-8d3281af-2c5d-4c66-939a-5e2300fac7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/ab2a899d-7e3d-423d-bc19-21455c36f563 [{'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-e5fb050e-f286-44a9-9c8b-87c2daafa4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/cfa059d7-7af6-4cd2-809c-6d7cfd6f2241 [{'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-57f516df-4107-4034-baf5-597cdb721bf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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": "cfa059d7-7af6-4cd2-809c-6d7cfd6f2241", "created_at": "2023-04-19T16:15:07.966731+00:00", "updated_at": "2023-04-19T16:15:08.137128+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/cfa059d7-7af6-4cd2-809c-6d7cfd6f2241", "rel": "self"}, {"href": "http://localhost/ports/cfa059d7-7af6-4cd2-809c-6d7cfd6f2241", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/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-2fa873b6-4f0f-4116-81bb-6067c62e5acf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c4794db-e13c-47b2-83de-4448bd11c38b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa: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-a428ab7b-5819-4d7b-ac6f-fe902a57050f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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_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-6a3c7266-2129-4bc7-9354-b706e1c203a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee17d09a-a177-4e1b-b236-ec38487169b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'bc71bad1-98bf-4f9d-a50e-307114c24903', '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-a76582b0-4be5-4515-beb5-cafde9beecd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:10.030813+00:00", "updated_at": "2023-04-19T16:15:10.126465+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": "bc71bad1-98bf-4f9d-a50e-307114c24903"} 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-3619a520-79e1-428f-806a-1df342f8816a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-855254ee-da7b-4b58-8a0b-6a0c7df37487 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:10.543579+00:00", "updated_at": "2023-04-19T16:15:10.816325+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.313893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.394333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.105937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.056847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.031940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.399161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.160248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.071368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.029984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.046230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.045547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.453367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.061798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.047961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.250518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.062486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.083730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.134166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.493826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.068801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.109939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.069854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.403059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.034573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.043221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.023341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.105746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.032578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.036549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.021691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.048276s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:07.087791+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 {} 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:{'ports': [{'uuid': '01e69984-2a49-41e8-8948-62909c3baa11', 'created_at': '2023-04-19T16:15:07.668844+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/01e69984-2a49-41e8-8948-62909c3baa11', 'rel': 'self'}, {'href': 'http://localhost/ports/01e69984-2a49-41e8-8948-62909c3baa11', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': 'a8b08d92-7a91-4928-bef0-0f64601812ca', 'created_at': '2023-04-19T16:15:07.712752+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/a8b08d92-7a91-4928-bef0-0f64601812ca', 'rel': 'self'}, {'href': 'http://localhost/ports/a8b08d92-7a91-4928-bef0-0f64601812ca', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '2e067b12-45c9-457e-a38e-d488029d8bd1', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2e067b12-45c9-457e-a38e-d488029d8bd1', 'rel': 'self'}, {'href': 'http://localhost/ports/2e067b12-45c9-457e-a38e-d488029d8bd1', 'rel': 'bookmark'}]}, {'uuid': 'ea0f347b-30de-4e5f-8d8e-d06cedd862be', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/ea0f347b-30de-4e5f-8d8e-d06cedd862be', 'rel': 'self'}, {'href': 'http://localhost/ports/ea0f347b-30de-4e5f-8d8e-d06cedd862be', 'rel': 'bookmark'}]}, {'uuid': 'd6cd7e7b-c05a-4c66-b9c6-8c19e19a3336', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/d6cd7e7b-c05a-4c66-b9c6-8c19e19a3336', 'rel': 'self'}, {'href': 'http://localhost/ports/d6cd7e7b-c05a-4c66-b9c6-8c19e19a3336', '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-04-19T16:15:08.234622+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=fooname {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:08.350662+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports?fields=address&limit=2 {} DEBUG util.py:445: GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/106966a0-a04b-4954-8718-3a7fa784ac57', 'rel': 'self'}, {'href': 'http://localhost/ports/106966a0-a04b-4954-8718-3a7fa784ac57', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/27faad3d-930a-4b3e-8938-7333d5dae750', 'rel': 'self'}, {'href': 'http://localhost/ports/27faad3d-930a-4b3e-8938-7333d5dae750', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=27faad3d-930a-4b3e-8938-7333d5dae750'} 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-d262967e-ec4b-4a11-b453-0ec303a287d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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,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-2e75f6ce-8911-43d1-a2da-7e1245dd2ada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:11.709247+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-04-19T16:15:11.709247+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:12.067825+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: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.035670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.027441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.023636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.056026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.038949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.351819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.047020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.054966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.092696s] ... 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.036440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.041829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.418187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.042023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.059788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.201346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.029240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.027042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.055673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.031878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.128155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.116136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.039216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.024913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.045434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.030649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.036079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.148177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.074473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.032186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.030311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.039153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.029239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.037778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.020413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.250349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.026584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.057626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.025138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.032298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.020381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.020980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.209599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.058008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.052416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.054395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.041377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.070132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.126087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.204619s] ... 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.058826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.374035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.029937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.044660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.040594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.048095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.018862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.238835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.400886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.087771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.348508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.044852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.049134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.051648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.120591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.032876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.174565s] ... ok 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-e9888cb7-e339-4d2c-b974-9b1e6d1a4405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA: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-52e89dad-e169-48b6-8773-34ecef3cbfaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 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-d58b3366-54d1-4956-a3db-2d0928aa6477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/4843038f-dd42-4bc3-ac51-6bdbda833ce5 DEBUG util.py:445: Openstack-Request-Id: req-a6a3722c-737d-4f23-a18d-1f6c0b744052 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4843038f-dd42-4bc3-ac51-6bdbda833ce5", "created_at": "2023-04-19T16:15:12.343391+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/4843038f-dd42-4bc3-ac51-6bdbda833ce5", "rel": "self"}, {"href": "http://localhost/ports/4843038f-dd42-4bc3-ac51-6bdbda833ce5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/4843038f-dd42-4bc3-ac51-6bdbda833ce5 {} DEBUG util.py:445: GOT:{'uuid': '4843038f-dd42-4bc3-ac51-6bdbda833ce5', 'created_at': '2023-04-19T16:15:12.343391+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/4843038f-dd42-4bc3-ac51-6bdbda833ce5', 'rel': 'self'}, {'href': 'http://localhost/ports/4843038f-dd42-4bc3-ac51-6bdbda833ce5', '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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8e3d63a-e584-452f-b371-e045fd6181c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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', '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-d4dc93ca-f04a-46eb-894f-078cd308a6e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:12.741402+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '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-2a440f86-28e6-484e-881e-4c3e944768f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-2bbefa90-4166-4d3a-9a42-60b118673921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.141147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.160927s] ... ok 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-19af6db6-bfa5-4afe-a111-0c8aaa02503c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: POST: /v1/heartbeat/c780693a-a3c9-424e-a8e8-cf9b08b6e463 {'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-461fc8a3-8700-4499-85b6-5f1ddc4013b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-5ce1897f-7b58-4874-b328-b5e7868ddcb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b0feae89-2916-4ba8-adf7-f1b99f6d92c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=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': 'b9457c9d-b5a5-43a7-aa10-0c28e62338c7', '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/b9457c9d-b5a5-43a7-aa10-0c28e62338c7', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9457c9d-b5a5-43a7-aa10-0c28e62338c7', '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=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': '1a8af4b4-eb94-4154-8985-4e1ea777f775', '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/1a8af4b4-eb94-4154-8985-4e1ea777f775', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a8af4b4-eb94-4154-8985-4e1ea777f775', '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=d04c1f38-b78a-4735-a565-22480cfb5249 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'd04c1f38-b78a-4735-a565-22480cfb5249', '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/d04c1f38-b78a-4735-a565-22480cfb5249', 'rel': 'self'}, {'href': 'http://localhost/nodes/d04c1f38-b78a-4735-a565-22480cfb5249', '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-ae4703f1-ae53-46c3-b3f0-b02d0238400a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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=3faca002-8413-41dd-8e77-ce5aa1469726 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b85a1bef-3568-4439-b20d-f1cd9e9fb762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'conductors': [{'href': 'http://localhost/v1/conductors/', 'rel': 'self'}, {'href': 'http://localhost/conductors/', 'rel': 'bookmark'}], 'allocations': [{'href': 'http://localhost/v1/allocations/', 'rel': 'self'}, {'href': 'http://localhost/allocations/', 'rel': 'bookmark'}], 'events': [{'href': 'http://localhost/v1/events/', 'rel': 'self'}, {'href': 'http://localhost/events/', 'rel': 'bookmark'}], 'deploy_templates': [{'href': 'http://localhost/v1/deploy_templates/', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/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: {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.106558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.150859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.222638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.054779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.197142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.186641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.079022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.038749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.211737s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:12.067825+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/73c87257-18c6-415d-8bc6-0133d651d921 {} DEBUG util.py:445: GOT:{'uuid': '73c87257-18c6-415d-8bc6-0133d651d921', 'created_at': '2023-04-19T16:15:12.378930+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'self'}, {'href': 'http://foo/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/73c87257-18c6-415d-8bc6-0133d651d921 {} DEBUG util.py:445: GOT:{'uuid': '73c87257-18c6-415d-8bc6-0133d651d921', 'created_at': '2023-04-19T16:15:12.378930+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'self'}, {'href': 'http://foo/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/73c87257-18c6-415d-8bc6-0133d651d921 {} DEBUG util.py:445: GOT:{'uuid': '73c87257-18c6-415d-8bc6-0133d651d921', 'created_at': '2023-04-19T16:15:12.378930+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'self'}, {'href': 'http://foo/ports/73c87257-18c6-415d-8bc6-0133d651d921', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfd719d1-6e05-42ef-9449-3ed5162cd302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '34e9a9fe-1c03-442a-bc5f-1e66cd3ed919', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/34e9a9fe-1c03-442a-bc5f-1e66cd3ed919', 'rel': 'self'}, {'href': 'http://localhost/ports/34e9a9fe-1c03-442a-bc5f-1e66cd3ed919', '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=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '104b84a2-fcf1-4d87-805f-ed7d442c7951', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/104b84a2-fcf1-4d87-805f-ed7d442c7951', 'rel': 'self'}, {'href': 'http://localhost/ports/104b84a2-fcf1-4d87-805f-ed7d442c7951', 'rel': 'bookmark'}]}, {'uuid': 'a2f71777-0ff2-4b23-9cd3-a4687eb2bf09', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a2f71777-0ff2-4b23-9cd3-a4687eb2bf09', 'rel': 'self'}, {'href': 'http://localhost/ports/a2f71777-0ff2-4b23-9cd3-a4687eb2bf09', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c65dd381-17c1-46e9-92a3-af16a5aba4cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f88646f-51c3-4b33-8f72-de7efbbf79cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e1be8db-c374-4168-8cb8-668284a73de1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-31d01969-29e6-471c-90a9-ac0f86b90f10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-0a990890-07a4-4a65-a6e4-3e92d32e98db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93eaaef9-72fb-4d19-8edd-ac8649361f31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-e2db9757-5cbf-439c-a718-990c79aaee82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-be42e09f-a45a-4531-b232-55b757f78997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '/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-eae53fe3-b05a-4547-b073-b80382071d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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', 'op': 'remove'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.063540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.289950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.173022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.045792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.181300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.066628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.125506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.051626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.709748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.074338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.073780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.329373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.102234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.231461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.248752s] ... ok DEBUG util.py:445: GOT:{'node': {'uuid': 'c312d165-f05f-4a47-8f0a-8d49be518361', '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/c312d165-f05f-4a47-8f0a-8d49be518361', 'rel': 'self'}, {'href': 'http://localhost/nodes/c312d165-f05f-4a47-8f0a-8d49be518361', '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=c0323e1b-6239-4d0d-b4a0-8cb4e334040d {} DEBUG util.py:445: GOT:{'node': {'uuid': 'c0323e1b-6239-4d0d-b4a0-8cb4e334040d', '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/c0323e1b-6239-4d0d-b4a0-8cb4e334040d', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0323e1b-6239-4d0d-b4a0-8cb4e334040d', '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/volume/connectors?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'f6eb77ef-61da-4dfe-b0f9-32e8c31f6cfb', 'created_at': '2023-04-19T16:15:13.314452+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f6eb77ef-61da-4dfe-b0f9-32e8c31f6cfb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f6eb77ef-61da-4dfe-b0f9-32e8c31f6cfb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '92ac1fb2-c416-4b5a-b885-1ee22200132f', 'created_at': '2023-04-19T16:15:13.316239+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/92ac1fb2-c416-4b5a-b885-1ee22200132f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/92ac1fb2-c416-4b5a-b885-1ee22200132f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd7be2b17-8f12-427f-b091-8a2851eda1fb', 'created_at': '2023-04-19T16:15:13.328505+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d7be2b17-8f12-427f-b091-8a2851eda1fb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d7be2b17-8f12-427f-b091-8a2851eda1fb', '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=d7be2b17-8f12-427f-b091-8a2851eda1fb'} 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-4e96dced-6987-431f-9f10-6db956e9d27e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} 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-5822ab52-294e-4ecc-a601-f8bf7588f484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?fields=connector_id&limit=2 {} DEBUG util.py:445: GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/5720ec54-db70-41ff-aadb-155413d22170', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5720ec54-db70-41ff-aadb-155413d22170', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/2e02ee75-c1ec-4f45-8781-d2f93c7f08fb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2e02ee75-c1ec-4f45-8781-d2f93c7f08fb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=2e02ee75-c1ec-4f45-8781-d2f93c7f08fb'} 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/6dbfabd0-c6ea-4998-84e6-85df9eb07909 {} DEBUG util.py:445: GOT:{'uuid': '6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'created_at': '2023-04-19T16:15:14.392256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909 {} DEBUG util.py:445: GOT:{'uuid': '6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'created_at': '2023-04-19T16:15:14.392256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909 {} DEBUG util.py:445: GOT:{'uuid': '6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'created_at': '2023-04-19T16:15:14.392256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6dbfabd0-c6ea-4998-84e6-85df9eb07909', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=uuid {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.151331s] ... 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-2d99e967-3664-4297-9486-f93ad2ee54a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_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-1d75b028-69d8-441a-a8af-a6eade131017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-86224c8f-8da8-42d0-ae1a-a3aa98e439ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/portgroups/?limit=3 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'ac3885fc-c6f2-4493-bdfb-2e9de60f76cc', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/ac3885fc-c6f2-4493-bdfb-2e9de60f76cc', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ac3885fc-c6f2-4493-bdfb-2e9de60f76cc', 'rel': 'bookmark'}]}, {'uuid': 'b1d60c0b-024c-425a-8031-2679b88453f5', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b1d60c0b-024c-425a-8031-2679b88453f5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b1d60c0b-024c-425a-8031-2679b88453f5', 'rel': 'bookmark'}]}, {'uuid': '8528f165-7038-49c5-b4dd-3ce66c721f25', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/8528f165-7038-49c5-b4dd-3ce66c721f25', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8528f165-7038-49c5-b4dd-3ce66c721f25', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=8528f165-7038-49c5-b4dd-3ce66c721f25'} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '9a1dc452-a04d-4f9a-adb5-87a90d7d05e5', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/9a1dc452-a04d-4f9a-adb5-87a90d7d05e5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9a1dc452-a04d-4f9a-adb5-87a90d7d05e5', 'rel': 'bookmark'}]}, {'uuid': 'e53ddec8-e56b-4888-b33a-54207f9a7c34', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/e53ddec8-e56b-4888-b33a-54207f9a7c34', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e53ddec8-e56b-4888-b33a-54207f9a7c34', 'rel': 'bookmark'}]}, {'uuid': '7801fedb-5d4b-4684-bcd7-5e7aab1b35f6', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/7801fedb-5d4b-4684-bcd7-5e7aab1b35f6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7801fedb-5d4b-4684-bcd7-5e7aab1b35f6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=7801fedb-5d4b-4684-bcd7-5e7aab1b35f6'} DEBUG util.py:445: GET: /v1/portgroups/detail?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'f4cc2326-d22e-45e7-9c63-0a8535707f8a', 'created_at': '2023-04-19T16:15:14.344061+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/f4cc2326-d22e-45e7-9c63-0a8535707f8a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f4cc2326-d22e-45e7-9c63-0a8535707f8a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/f4cc2326-d22e-45e7-9c63-0a8535707f8a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f4cc2326-d22e-45e7-9c63-0a8535707f8a/ports', 'rel': 'bookmark'}]}, {'uuid': '1ec970d6-ab87-433f-a3b7-73fdcb44026d', 'created_at': '2023-04-19T16:15:14.342661+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/1ec970d6-ab87-433f-a3b7-73fdcb44026d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1ec970d6-ab87-433f-a3b7-73fdcb44026d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/1ec970d6-ab87-433f-a3b7-73fdcb44026d/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1ec970d6-ab87-433f-a3b7-73fdcb44026d/ports', 'rel': 'bookmark'}]}, {'uuid': '11898a8d-2ae7-4aed-a9a2-09bd7e82781c', 'created_at': '2023-04-19T16:15:14.334242+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/11898a8d-2ae7-4aed-a9a2-09bd7e82781c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/11898a8d-2ae7-4aed-a9a2-09bd7e82781c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/11898a8d-2ae7-4aed-a9a2-09bd7e82781c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/11898a8d-2ae7-4aed-a9a2-09bd7e82781c/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-082c0479-f1f4-4d4c-a63a-403158172084 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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=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-f3e23d0b-b9f5-4c86-9280-89adf0051c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.122512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.152796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.090847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.126593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.200949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.033544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.332286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.062403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.267734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.050850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.066240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.096631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.258138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.041540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.082744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.074562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.077729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.055355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.336323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.209057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.054609s] ... ok DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '3ab153e8-58df-4564-bb52-bb850c43e0d2', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/3ab153e8-58df-4564-bb52-bb850c43e0d2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3ab153e8-58df-4564-bb52-bb850c43e0d2', 'rel': 'bookmark'}]}, {'uuid': '1bc9b094-5498-4d5d-ba40-4c1bc5474c88', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/1bc9b094-5498-4d5d-ba40-4c1bc5474c88', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1bc9b094-5498-4d5d-ba40-4c1bc5474c88', 'rel': 'bookmark'}]}, {'uuid': 'fbaf56f9-2b03-459a-91e9-a96fdeaa1f11', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/fbaf56f9-2b03-459a-91e9-a96fdeaa1f11', 'rel': 'self'}, {'href': 'http://localhost/portgroups/fbaf56f9-2b03-459a-91e9-a96fdeaa1f11', 'rel': 'bookmark'}]}, {'uuid': '84ecc68d-6880-4a04-90ea-982b4a29d4e2', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/84ecc68d-6880-4a04-90ea-982b4a29d4e2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/84ecc68d-6880-4a04-90ea-982b4a29d4e2', 'rel': 'bookmark'}]}, {'uuid': 'f5eb7445-086f-4b90-8c71-b8763b2cd090', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/f5eb7445-086f-4b90-8c71-b8763b2cd090', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f5eb7445-086f-4b90-8c71-b8763b2cd090', 'rel': 'bookmark'}]}]} 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-254f1e63-9dce-458d-a615-f1c68b800829 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/0dcae5be-fb6a-41e8-95fc-eae4f79e668c/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'b3710027-7d23-4c81-bfc4-626c8948187e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'self'}, {'href': 'http://localhost/ports/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'bookmark'}]}, {'uuid': '386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'rel': 'self'}, {'href': 'http://localhost/ports/386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/0dcae5be-fb6a-41e8-95fc-eae4f79e668c/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'b3710027-7d23-4c81-bfc4-626c8948187e', 'created_at': '2023-04-19T16:15:14.857599+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/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'self'}, {'href': 'http://localhost/ports/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '0dcae5be-fb6a-41e8-95fc-eae4f79e668c'}, {'uuid': '386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'created_at': '2023-04-19T16:15:14.861987+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/386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'rel': 'self'}, {'href': 'http://localhost/ports/386ed1e4-a9b1-4dde-86e2-e770b16f07e3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '0dcae5be-fb6a-41e8-95fc-eae4f79e668c'}]} DEBUG util.py:445: GET: /v1/portgroups/0dcae5be-fb6a-41e8-95fc-eae4f79e668c/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'b3710027-7d23-4c81-bfc4-626c8948187e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'self'}, {'href': 'http://localhost/ports/b3710027-7d23-4c81-bfc4-626c8948187e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=b3710027-7d23-4c81-bfc4-626c8948187e'} DEBUG util.py:445: GET: /v1/portgroups/0dcae5be-fb6a-41e8-95fc-eae4f79e668c/ports/980e3e48-0695-43db-aabd-e8bffbc8e0ff {} 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/0dcae5be-fb6a-41e8-95fc-eae4f79e668c/ports/e4ff5580-5e96-41f3-b572-d984d877787d {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-018f3c8f-c22b-4cc9-9887-ea0b6601d5b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-69e1cb2f-8323-4e1d-9610-f95f4a64c423 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:15.130520+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', '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-22d0fd07-b2b1-4fe4-8cd0-ab80231cc4a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a6aba46f-646d-4277-a05b-a638fcd72a67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.122571s] ... ok 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: 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-38e93976-8953-4cad-bbde-4cf9de98d08b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b9852a2-c810-4895-b72d-ba7030c68b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors/detail {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de9c3e9d-0b5f-43d0-a8e5-17a6fcf1c19f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '4ec76736-59ed-4a1a-82a8-28639f91af19', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/4ec76736-59ed-4a1a-82a8-28639f91af19', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4ec76736-59ed-4a1a-82a8-28639f91af19', 'rel': 'bookmark'}]}, {'uuid': '840635ab-6d9e-4e7d-a8ab-f19591a13087', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/840635ab-6d9e-4e7d-a8ab-f19591a13087', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/840635ab-6d9e-4e7d-a8ab-f19591a13087', 'rel': 'bookmark'}]}, {'uuid': '817af8c3-4846-4d31-823f-c90ca2cf925b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/817af8c3-4846-4d31-823f-c90ca2cf925b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/817af8c3-4846-4d31-823f-c90ca2cf925b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} 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-e0476aa9-0258-4f2b-8fc4-3e437c8c85ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-15fd3b6e-5ab8-4ecc-8876-ef03e46ec3aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-ebee1163-02e9-43b3-ad07-24ea715d7e73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba17a5bf-14d8-4c43-8ab6-a43193d5b934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-d139b468-8785-493c-8859-e75135db0337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-6a303dd4-734e-43ef-8cd0-8b24c6d1a5f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 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/fba05de4-e15f-40e9-bff8-535e98073679 DEBUG util.py:445: Openstack-Request-Id: req-f35dff6d-d33e-4aa4-954c-4858bb36c930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "fba05de4-e15f-40e9-bff8-535e98073679", "created_at": "2023-04-19T16:15:15.407405+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/fba05de4-e15f-40e9-bff8-535e98073679", "rel": "self"}, {"href": "http://localhost/volume/connectors/fba05de4-e15f-40e9-bff8-535e98073679", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/fba05de4-e15f-40e9-bff8-535e98073679 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.092896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.088620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.069539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.278664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.247833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.210659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.127653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.117293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.213512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.238471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.099888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.089515s] ... 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-03be93c4-008a-488b-8b78-056af14a73d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-dbf1a62a-df30-4902-b7a6-960aa9bef870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:14.151165+00:00", "updated_at": "2023-04-19T16:15:14.193826+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-d78d5b9c-0ea0-432f-9152-b5f02dda5c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:14.151165+00:00", "updated_at": "2023-04-19T16:15:14.218450+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', '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-ee53928e-254a-45a9-a898-be5bc3f1765c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88650ad3-1cd0-4889-8b18-823da06cc370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:14.389599+00:00", "updated_at": "2023-04-19T16:15:14.408433+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '0644843b-ea94-4bc1-a5ad-6325654265af', '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-1bf68e53-8fd1-4f9b-9b31-18d0f2faeb96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:14.461602+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': '/portgroup_uuid', 'value': '6851a621-acd3-49a6-9198-891f45b0f11f', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'bb678f0c-02d7-45f9-833e-6c4baeaacb54', '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-2e7c2339-30e0-45b4-bc42-03ea12d62fe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:14.612347+00:00", "updated_at": "2023-04-19T16:15:14.712825+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": "bb678f0c-02d7-45f9-833e-6c4baeaacb54"} 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-167e3e95-9842-4169-9d59-4bf1f020e4d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/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-c292ae38-ecf6-489a-b382-512e2b7890f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py: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-04-19T16:15:15.119551+00:00", "updated_at": "2023-04-19T16:15:15.173061+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': '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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.320826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.188520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.271967s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.094469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.043752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.057358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.064227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.080923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.074820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.322826s] ... ok DEBUG util.py:445: GOT:{'uuid': 'fba05de4-e15f-40e9-bff8-535e98073679', 'created_at': '2023-04-19T16:15:15.407405+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/fba05de4-e15f-40e9-bff8-535e98073679', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fba05de4-e15f-40e9-bff8-535e98073679', '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', '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-4eb6d571-6cfb-43b6-984c-2a87973fcae6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:15.594866+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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c69bf05-4215-4226-96dc-3c48ffb035cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '73890cbf-27f5-4c2e-8547-d03b75e65f11', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/73890cbf-27f5-4c2e-8547-d03b75e65f11', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/73890cbf-27f5-4c2e-8547-d03b75e65f11', 'rel': 'bookmark'}]}, {'uuid': 'ead85bd7-3067-4c74-bfa7-9f299abbdf25', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/ead85bd7-3067-4c74-bfa7-9f299abbdf25', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ead85bd7-3067-4c74-bfa7-9f299abbdf25', 'rel': 'bookmark'}]}, {'uuid': 'a73dcab6-2871-49fa-b991-3fbc921477e6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a73dcab6-2871-49fa-b991-3fbc921477e6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a73dcab6-2871-49fa-b991-3fbc921477e6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=a73dcab6-2871-49fa-b991-3fbc921477e6'} 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 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '929bfbfc-e8ca-4a2d-b1a4-afce9c1a3e03', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/929bfbfc-e8ca-4a2d-b1a4-afce9c1a3e03', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/929bfbfc-e8ca-4a2d-b1a4-afce9c1a3e03', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c72f549b-9e80-4fd8-8f2b-16d9fa4eb5cc', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c72f549b-9e80-4fd8-8f2b-16d9fa4eb5cc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c72f549b-9e80-4fd8-8f2b-16d9fa4eb5cc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '40c1d119-93db-46e3-9a10-138515d9a321', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/40c1d119-93db-46e3-9a10-138515d9a321', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/40c1d119-93db-46e3-9a10-138515d9a321', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7d406999-fe7f-4c9e-a061-4626817a8029', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7d406999-fe7f-4c9e-a061-4626817a8029', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7d406999-fe7f-4c9e-a061-4626817a8029', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '791111cb-fc73-445c-bf16-64dfce15ace4', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/791111cb-fc73-445c-bf16-64dfce15ace4', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/791111cb-fc73-445c-bf16-64dfce15ace4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: 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: 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-889c526a-678e-425f-9616-7b8ceccc7496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': '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-08b83b59-da49-4670-81af-7b8d25a623e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.076712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.158413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.269770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.092517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.056201s] ... ok DEBUG util.py:445: GOT:{'connectors': [{'uuid': '136f655b-5ca7-4e99-82d2-540328e198df', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/136f655b-5ca7-4e99-82d2-540328e198df', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/136f655b-5ca7-4e99-82d2-540328e198df', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '373d7a92-fe20-4f3f-9f95-7a54a095a6ee', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/373d7a92-fe20-4f3f-9f95-7a54a095a6ee', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/373d7a92-fe20-4f3f-9f95-7a54a095a6ee', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a70f5f06-203e-4ce7-af17-68730c8ece2f', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/a70f5f06-203e-4ce7-af17-68730c8ece2f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a70f5f06-203e-4ce7-af17-68730c8ece2f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', '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-2d7d4948-f01f-4d61-8a5d-fe09f66248bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:14.821998+00:00", "updated_at": "2023-04-19T16:15:14.825263+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-951c8c0a-5e19-4b8b-937f-02661a324860 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:14.821998+00:00", "updated_at": "2023-04-19T16:15:14.825263+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-b207baed-27db-4c6d-8b9a-42bd62d40026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac4021a1-e1a3-41c7-bfc7-bd260311aba3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b11535b9-ea3a-49b9-99c7-e4286fa8d3a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:15.765754+00:00", "updated_at": "2023-04-19T16:15:15.781195+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/connectors/40838cb8-34a8-405b-bb22-9a3cdd921842 [{'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-9f399392-487d-4aa9-90c5-d3d116599a3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 40838cb8-34a8-405b-bb22-9a3cdd921842 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-893fcb64-3620-4e40-b455-b22a56d93890 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 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-5f1a6248-6178-4173-b984-d5df5d7ff7cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.133290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.124005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.111089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.131239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.090314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.123158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.062302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.050192s] ... 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.041879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.252878s] ... 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-e0f2c37d-bf08-4c86-aa3e-3953f5307a2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:16.360310+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': '/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-eabae7b7-97a8-445f-b5a6-58724e326740 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:16.460960+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-2a9cf3a1-dc0c-4508-b8cf-bf387e35e37e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d985aeb-4d47-42a0-b8a1-d9ea1bf195dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4a2dbfc-0e52-4a5a-a268-18495073a57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1 DEBUG util.py:445: GET: /v1 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b39c5f3c-5111-4fa1-b11d-201bf94a1e05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "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: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_6_public_api_v1 [0.058454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.270282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.197248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.138694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.115975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.159530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.096654s] ... 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-b39c5f3c-5111-4fa1-b11d-201bf94a1e05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "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/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-86cf59f7-da9b-4706-abe0-70e1828551a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:16.849061+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86cf59f7-da9b-4706-abe0-70e1828551a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:16.849061+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.144033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.073791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.143086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.046324s] ... 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-6d5e8a37-7903-4aeb-9b1f-a11c37105769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-113a3b9a-1636-4e01-9673-232753212a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:16.287827+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-04-19T16:15:16.287827+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '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-d3ca1aab-9e88-4d87-a70f-e16db25cd90a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-36822dc8-9ab5-482a-956c-a95d2e29a18b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-1c93d512-d138-44ac-af61-a2230032f817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:16.884822+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.211355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.191245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.186899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.159041s] ... 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.132068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.145113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.105460s] ... 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-602160ef-9a45-4af2-83cd-fd9302d0647d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} DEBUG util.py:445: PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da3acbd7-a9f5-41fa-a589-f793506fc29a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:15.809395+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': '/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-d5fd509f-2260-447e-b533-8cdc95efc612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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': '/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-321077e2-d2be-450a-86e0-b9564b016915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:16.341721+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: 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32de67ac-d19e-4538-babe-d038d76e745a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6916424-8344-4aa4-8cd3-58128d515419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-227aee9e-e1a9-4361-972b-a81a3675eada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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', '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-18b377b2-183e-4067-9588-23416f1c2697 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:17.147750+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-04-19T16:15:17.147750+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.272006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.148083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.242250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.142062s] ... 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-92c4d022-1c95-4d3d-ba0e-ca8d7fe1f44a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5022af6f-0f43-45dd-b194-cd837d5d580f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fde506a-4c28-4358-9338-be40392cf6d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9e4f936a-1f70-4188-9f40-217f66c063c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:16.689248+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-04-19T16:15:16.689248+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: GET: /v1/volume/targets/?limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '9b4d199a-15bd-41a5-a582-2b2388fea149', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9b4d199a-15bd-41a5-a582-2b2388fea149', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9b4d199a-15bd-41a5-a582-2b2388fea149', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1061bce4-b61d-4203-97b0-7ef886c3c5b8', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1061bce4-b61d-4203-97b0-7ef886c3c5b8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1061bce4-b61d-4203-97b0-7ef886c3c5b8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '44f8dd48-b27b-4051-b5b6-59f1ed7e3501', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/44f8dd48-b27b-4051-b5b6-59f1ed7e3501', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/44f8dd48-b27b-4051-b5b6-59f1ed7e3501', '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=44f8dd48-b27b-4051-b5b6-59f1ed7e3501'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '4bc218de-ac62-4f9a-be9e-bd7b246bf9e0', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4bc218de-ac62-4f9a-be9e-bd7b246bf9e0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4bc218de-ac62-4f9a-be9e-bd7b246bf9e0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6d3f50f1-c81b-49d2-a4cf-fbe32e9b20ef', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/6d3f50f1-c81b-49d2-a4cf-fbe32e9b20ef', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6d3f50f1-c81b-49d2-a4cf-fbe32e9b20ef', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4b791193-b694-4fc4-a28f-fe05852070e8', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4b791193-b694-4fc4-a28f-fe05852070e8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4b791193-b694-4fc4-a28f-fe05852070e8', '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=4b791193-b694-4fc4-a28f-fe05852070e8'} 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-04-19T16:15:17.094445+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b8ef6a2-4602-4c8b-bdb8-8d710362cdf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04-19T16:15:17.313408+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: GET: /v1/volume/targets?fields=boot_index&limit=2 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.163914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.093791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.321321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.080983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.151271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.172410s] ... 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-ab5e1bc5-200d-45f6-919f-3ffb715fd149 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.094719+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, '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-36dda645-a0ee-4a0b-9875-ad4e5dbd22a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-58cecb26-bc20-45d2-a1fd-f167cb335725 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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': '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-a1f12362-51c2-4ea7-8adb-46652fc2ae7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-e8ca8ac5-1584-47af-baab-1ecb525eaf0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.682056+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-04-19T16:15:17.682056+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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-6cbc33d2-19d0-4d69-a484-0e8e14407557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.790343+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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.047490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.054977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.083908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.247990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.194018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.120059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.072213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.160117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.217957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.117841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.467884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.176238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.094811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.173663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.148373s] ... 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-12709b2e-5a37-49d6-b534-bc70051fdbd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.836193+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'} 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-f259bef2-78ec-4056-86c1-41bab921dcf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.889832+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-5297fd3b-69b3-4b17-a9f8-5e465ee851ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.974666+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': 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-19eaae83-503d-4194-a0a6-c0c4f6e2fc33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-f6968d85-e479-434e-9c09-06a3c1bf06fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-b283d209-9b37-40a2-9bfd-9b2f7b3797b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:18.285854+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-a1b25aaf-f81a-40cb-b162-0ff40ef7c99a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:18.378516+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': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.082663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.100027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.319709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.172875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.225266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.084633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.085926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.093410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.095875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.051906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.117986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.045048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.053811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.293050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.420330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.143175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.116918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.120780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.130488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.103101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.134260s] ... 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-bb65c3f3-343d-450d-8a79-df4f065292af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-64091709-fa3d-4e6b-99ac-a5073ec4c8ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:17.681873+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-04-19T16:15:17.681873+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-731fb8a5-8d6a-48f6-b998-de44374c92c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ddbe9176-0d23-4cf5-a4c6-fafa67fa4790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:18.172930+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/712172eb-1d0f-475f-8235-b22b197e14b7 {'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-321c907b-3164-4726-aa80-efaa4334fded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 712172eb-1d0f-475f-8235-b22b197e14b7 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-7a174e86-e5e2-4d86-b796-eb6d57290b43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0485f70b-198a-4728-b5c8-006a0bdcfa9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5d4dcf3c-c3db-4ffa-b63c-cb0f246d935d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ad812e9-6eed-4f7f-b6f9-21839b6e2362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-26b8682d-d8b5-4f00-bf8c-c9fc21fa6f09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.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-8e4bb0a6-6cb6-4c38-9dda-6894df9dd853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d524625d-1181-4e8f-884f-16368767cfda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/4e73dc5c-5641-4b37-b364-a32e89165e7f {'callback_url': 'url'}{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.099842s] ... ok DEBUG util.py:445: GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/4e06012d-3e18-414b-95db-6df0e2d33307', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4e06012d-3e18-414b-95db-6df0e2d33307', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/0e03ad03-fb05-4600-b87b-373b704b2adb', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0e03ad03-fb05-4600-b87b-373b704b2adb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=0e03ad03-fb05-4600-b87b-373b704b2adb'} 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-04-19T16:15:17.674555+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': '363e60fa-234d-4ff1-8606-e3c4838293e5', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/363e60fa-234d-4ff1-8606-e3c4838293e5', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/363e60fa-234d-4ff1-8606-e3c4838293e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4cbc0b79-f247-4b29-b03a-7f37da962f72', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/4cbc0b79-f247-4b29-b03a-7f37da962f72', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4cbc0b79-f247-4b29-b03a-7f37da962f72', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fea6fcf7-2311-420e-aa29-1ee40797c864', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fea6fcf7-2311-420e-aa29-1ee40797c864', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fea6fcf7-2311-420e-aa29-1ee40797c864', '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-e19387af-4e68-47c1-83a8-288c959aaee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:17.992090+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_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-87e0c615-bf54-4949-a476-cf8132234414 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55b33849-335d-4c03-baf5-f953a741bce9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-12e71f77-a49e-4209-8a7c-53db33cf3297 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:18.579368+00:00", "updated_at": "2023-04-19T16:15:18.623162+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': '/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-b23f91bc-b714-4598-9a13-d224d06c4819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:18.864591+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/fc5b3de1-62ad-4ad1-acc1-4828c6c46043 [{'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-6ca9093f-a2bf-4016-92d2-add913885e92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target fc5b3de1-62ad-4ad1-acc1-4828c6c46043 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': {'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-401a9a27-7d31-4e85-a17d-8aa1ea2b6e44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:19.278191+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: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.264102s] ... ok 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-65bc40d4-9b9d-4d61-8ad5-4fafd722feb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-65bc40d4-9b9d-4d61-8ad5-4fafd722feb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd5bd848-620e-49d4-8f62-5f1bfda2917e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd5bd848-620e-49d4-8f62-5f1bfda2917e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-017f6e59-4c28-409a-823b-c890325ebf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-017f6e59-4c28-409a-823b-c890325ebf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7f44dab4-d70d-4f3a-8f16-b84c48bc66bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7f44dab4-d70d-4f3a-8f16-b84c48bc66bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c76c7c0c-1723-44fd-8af8-8ad48e687571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-c76c7c0c-1723-44fd-8af8-8ad48e687571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aea6cd64-2bb5-407d-8d06-db224806b57d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aea6cd64-2bb5-407d-8d06-db224806b57d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-5ccc29b0-ca41-4a08-9c65-42bdaecf5eab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5ccc29b0-ca41-4a08-9c65-42bdaecf5eab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83271ca2-2eca-4766-a645-cb89d24a4c0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83271ca2-2eca-4766-a645-cb89d24a4c0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.318228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.204953s] ... 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.267446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.362211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.193088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.143970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.446803s] ... 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.234240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.140149s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-704c7daf-5c94-4462-862a-0e5195af308a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/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-c823af2d-0fb7-48f4-888a-d0f20dede032 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04-19T16:15:18.807375+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-21597656-7352-4a2b-a1a9-f4cb806bb9b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-04-19T16:15:18.965690+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': 'a579dc47-f39e-434c-946d-ff6e46e69c07', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/a579dc47-f39e-434c-946d-ff6e46e69c07', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a579dc47-f39e-434c-946d-ff6e46e69c07', '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-394bee44-42d3-4c6a-b8c9-f9d13523a839 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-6156a262-67a8-40f5-a022-304dabc64eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'eb397d2b-de3c-4bb2-812b-b102017513b4', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/eb397d2b-de3c-4bb2-812b-b102017513b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/eb397d2b-de3c-4bb2-812b-b102017513b4', 'rel': 'bookmark'}]}, {'uuid': '257c1334-6814-4ace-af11-df9e344a7d03', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/257c1334-6814-4ace-af11-df9e344a7d03', 'rel': 'self'}, {'href': 'http://localhost/portgroups/257c1334-6814-4ace-af11-df9e344a7d03', 'rel': 'bookmark'}]}, {'uuid': '094e5980-d35c-4406-8f74-b6c1225379b2', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/094e5980-d35c-4406-8f74-b6c1225379b2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/094e5980-d35c-4406-8f74-b6c1225379b2', 'rel': 'bookmark'}]}]} 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-c5d67f54-c0fb-48cb-ae32-b90f6729c78b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6a22fac7-43b8-4d44-a40f-c095fcd41fc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f3c0b298-7392-4f38-966e-402e3646635e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02df4187-3e3e-45e4-95e2-7127012bd982 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.168022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.196039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.319996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.269286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.171836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_put_admin [0.476432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.096427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.177671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.117512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.130602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.037994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.095285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.064918s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:19.278191+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': 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-8a77c142-8534-42be-bff3-870c2f5c2498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"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-ef3ffa58-e365-410d-8c14-6c5d557a6360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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-7dbf1e2a-af9d-4f16-90a3-ab499b369fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:20.127126+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-04-19T16:15:20.127126+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad44b1f2-6713-48cc-8736-7fc7fd4b168f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-ad44b1f2-6713-48cc-8736-7fc7fd4b168f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d0869e7-19c8-4314-a2e2-178f55ee3fa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:20.460919+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_uuid} DEBUG util.py:445: driver DEBUG util.py:445: fake-hardware DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.131590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.040481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.125676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.064461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.040930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.026630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_member [0.420500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.062944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.216194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.035097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.028573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_observer [0.202221s] ... 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-7fd21e9f-aeaa-4ed0-9b48-6b2f4854df84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:19.823857+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-9acff5f6-e1c5-4791-8398-d818559a773b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.069844+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'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8152c45c-414e-45ed-a032-b7bfc220aea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.227355+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': '/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-c3150154-5419-417d-b781-99dbddea6f43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.308707+00:00", "updated_at": "2023-04-19T16:15:20.318553+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-171d3e77-75e0-41f1-b1ae-83276aafc494 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.308707+00:00", "updated_at": "2023-04-19T16:15:20.318553+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-4dee192e-7e7a-4cf5-afa6-8bc0eb1cae50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2d604e1-6e2f-4b2b-8da1-e68cbf239d53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.568390+00:00", "updated_at": "2023-04-19T16:15:20.575121+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-961709e2-d63d-442a-ae92-5af4cb83ddbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.169661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.095993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.181149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.067544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.160221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.087792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.057058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.054063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.078649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.211081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.537357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.047628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.155243s] ... 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-9d0869e7-19c8-4314-a2e2-178f55ee3fa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:20.460919+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1.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-37bb874c-2362-48bf-a609-b7211045efc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "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-37bb874c-2362-48bf-a609-b7211045efc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1.xml DEBUG util.py:445: GET: /v1.xml {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.251279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.190039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.136405s] ... 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-c520fc70-5333-4609-b0cf-87b0596d01bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.784485+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-1bf5dc33-9859-459f-9a98-b9d74892d1df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-29e30401-cab9-4100-b44c-1203aa020d3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:20.954410+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': '/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-e7411356-45da-45e8-b62d-1571cae7969f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:21.055771+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': '/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-d499556f-d202-4327-8534-51a7619a55fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-04-19T16:15:21.111012+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/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-27d61986-457e-4bbc-88cc-8fbd9e87e9a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/3a076498-949a-47d4-bfe8-a2b8eedd3c3c [{'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-0ce42f02-8f18-4924-beaf-61e8f52aaadd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 3a076498-949a-47d4-bfe8-a2b8eedd3c3c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3e6a040-a753-4b68-b643-5f4587ef94a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:21.319642+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": false, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.079233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.113262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.050020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.158534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.064242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.101101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.018641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.026999s] ... 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-2be9035c-ce1e-4eab-8fe1-9099db56397d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2be9035c-ce1e-4eab-8fe1-9099db56397d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4b0f0982-ebd1-4af3-ae9a-81e60e33f426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4b0f0982-ebd1-4af3-ae9a-81e60e33f426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6b741484-f615-4ea6-8e21-4cbc8a74ed4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b741484-f615-4ea6-8e21-4cbc8a74ed4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0d419d02-b4be-47de-90ef-a91457cc9036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-0d419d02-b4be-47de-90ef-a91457cc9036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a7fc7b06-cbf3-46ae-ad79-f785ce51829d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a7fc7b06-cbf3-46ae-ad79-f785ce51829d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d6a059c-3345-4768-9288-3ac6c0cfe22d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d6a059c-3345-4768-9288-3ac6c0cfe22d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-819ae704-b774-4227-bec9-58b4d3a41975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-819ae704-b774-4227-bec9-58b4d3a41975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-27358484-5c39-4378-8398-6124107fb5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-27358484-5c39-4378-8398-6124107fb5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.318745s] ... 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-70e9a68e-4dbd-4573-9521-73c3c7b2fd13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:21.152632+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_ident} DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70e9a68e-4dbd-4573-9521-73c3c7b2fd13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:21.152632+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.411094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.101191s] ... 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-0eff1803-4aa6-433c-8705-730a026e8871 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-113e29a0-ec4f-447e-bbe0-06fdf4919eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:21.579683+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': '539831fd-19d1-4bec-ac8f-016d639f2656', 'name': '4b88396c-ed82-4103-bccd-b9e0ba2f6fa0', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85adac89-a68b-4bbc-aeb3-2337def37a0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-28d4bc3e-0eb6-4b60-b8dd-9bdfaa4ce161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:21.648579+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-04-19T16:15:21.648579+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': {'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-7224b9a6-1ad1-46fb-a99b-335553c7f6e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:21.704347+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-04-19T16:15:21.704347+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: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.142572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.076517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.141530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_put_admin [0.230385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.053453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.110160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.072052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_member [0.179085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.115940s] ... 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-b4a747e5-bf16-4192-8478-850e7c54d3d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:21.478928+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_ident} DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4a747e5-bf16-4192-8478-850e7c54d3d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:21.478928+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adbbb7ae-d27e-4f05-afa2-72ebf36c5755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "dedb89a9-9288-46e0-9d81-c6d2043a9ce4", "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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.459940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.056698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.200843s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.108699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.230003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_087_nodes_traits_put_observer [0.261410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.134796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.068737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.063250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.110184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.063968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.053237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.243827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.060570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.168022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_member [0.288999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.041641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.033662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.147224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.038458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.157306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.068618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.049684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.134064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_post_admin [0.245914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.035569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.084896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.155260s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_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.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.063839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.105706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.225138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_observer [0.201727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.085398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.379826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.034993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.191738s] ... 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-f09f0123-bc7c-4511-99ec-147b68d432b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f09f0123-bc7c-4511-99ec-147b68d432b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-8ceafa05-510d-4e72-86e5-3b1bed56f539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ceafa05-510d-4e72-86e5-3b1bed56f539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f667e1d5-549e-44cc-b31a-cfbc7834edad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-f667e1d5-549e-44cc-b31a-cfbc7834edad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-9cf62469-73a3-433f-9433-1c04e62ffce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9cf62469-73a3-433f-9433-1c04e62ffce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfbf1ce6-b358-4ef0-a11f-1c3fe8913492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-bfbf1ce6-b358-4ef0-a11f-1c3fe8913492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e18e942c-d056-44e5-ab62-bd8e69d9cacd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e18e942c-d056-44e5-ab62-bd8e69d9cacd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02e72713-39d0-4fd4-94f3-e9702bc0dec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02e72713-39d0-4fd4-94f3-e9702bc0dec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8 DEBUG util.py:445: Openstack-Request-Id: req-15c19416-4a18-4c43-9ced-e209a7774d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "created_at": "2023-04-19T16:15:23.433717+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/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "rel": "self"}, {"href": "http://localhost/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_post_admin [0.133079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.172348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_member [0.151382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.268955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.105356s] ... ok DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e62dd6ff-ab13-4f40-b0ca-340b03713eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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-71951160-8904-4fc8-ae8a-bff4432b4730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 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/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-32cca82c-5831-4920-832b-7a28992c3d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-3652dd93-cf06-455b-97ed-12508dea3a53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07c6fb49-48e2-454e-be16-d083da16b387 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.71 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': '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-69088cd6-d81f-46c3-9850-1beecb50f2e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/1f1992b4-fead-47c8-9382-fbd34bfb4c52 {'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-af973e59-274f-4484-a7b0-928093f61f74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1f1992b4-fead-47c8-9382-fbd34bfb4c52 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': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-202d52aa-399d-46b8-a82c-42dd744ea31b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: GET: /v1/lookup?node_uuid=7bbecc1a-c4c4-4647-a1f5-135088e16f31 {} DEBUG util.py:445: GOT:{'node': {'uuid': '7bbecc1a-c4c4-4647-a1f5-135088e16f31', '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/7bbecc1a-c4c4-4647-a1f5-135088e16f31', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bbecc1a-c4c4-4647-a1f5-135088e16f31', '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=e1e1442f-25be-465e-9012-2aef6ec1b71e {} DEBUG util.py:445: GOT:{'node': {'uuid': 'e1e1442f-25be-465e-9012-2aef6ec1b71e', '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/e1e1442f-25be-465e-9012-2aef6ec1b71e', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1e1442f-25be-465e-9012-2aef6ec1b71e', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=282c8f29-b191-40ad-b779-d3d7fb25f4e5 {} DEBUG util.py:445: GOT:{'node': {'uuid': '282c8f29-b191-40ad-b779-d3d7fb25f4e5', '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/282c8f29-b191-40ad-b779-d3d7fb25f4e5', 'rel': 'self'}, {'href': 'http://localhost/nodes/282c8f29-b191-40ad-b779-d3d7fb25f4e5', '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-b4add09c-c51f-4394-9378-ba33bb4ece55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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=5940532c-a845-428b-a376-03d78116a3c3 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.113920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.055392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.022536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.018675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.043500s] ... 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.126778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.178564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.066971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.024728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.078084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.021139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.027715s] ... 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.164648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.032076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.347622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.039668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.039407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.032209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.188563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.139700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.043690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.051438s] ... 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-adbbb7ae-d27e-4f05-afa2-72ebf36c5755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "dedb89a9-9288-46e0-9d81-c6d2043a9ce4", "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31b607eb-6521-4827-b102-fca95cd75f48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-31b607eb-6521-4827-b102-fca95cd75f48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-930327bf-916f-45c9-a450-91ca8e42be60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-930327bf-916f-45c9-a450-91ca8e42be60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-433f8361-8992-47d5-a6c5-f7e0350af6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-433f8361-8992-47d5-a6c5-f7e0350af6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-f17b1d0d-c39d-4dcc-b7b1-f18826c38e20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f17b1d0d-c39d-4dcc-b7b1-f18826c38e20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-003fad53-318e-4b35-859a-16d8ad89dda7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-003fad53-318e-4b35-859a-16d8ad89dda7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-2bc5b0c0-f2d1-46a4-b952-35963e87bf0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2bc5b0c0-f2d1-46a4-b952-35963e87bf0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-561e72eb-8950-470f-8cc1-210ac6380590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-561e72eb-8950-470f-8cc1-210ac6380590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.201227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.156873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.108697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_observer [0.199951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.114053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.031436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.063634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.124670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.166745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.087091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.125871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.217625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.049258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.033164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.070297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_post_admin [0.126503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.043676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.077954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.038795s] ... 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/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8 DEBUG util.py:445: Openstack-Request-Id: req-15c19416-4a18-4c43-9ced-e209a7774d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "created_at": "2023-04-19T16:15:23.433717+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/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "rel": "self"}, {"href": "http://localhost/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4aa66906-f2a5-4fc0-ae5f-f4ab797de2b8/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-0d57b044-7dba-46a3-85c2-a5ef80fc02cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0d57b044-7dba-46a3-85c2-a5ef80fc02cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fc095c86-5791-4f95-8fc1-be820356e70d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fc095c86-5791-4f95-8fc1-be820356e70d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f06105fb-5c5c-4d1c-bead-1062402a6c2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f06105fb-5c5c-4d1c-bead-1062402a6c2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e710a449-61d5-49c0-a643-3ec5bd160313 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e710a449-61d5-49c0-a643-3ec5bd160313 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c73156a0-0eaf-4e38-86f5-58f3f7a7ae7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c73156a0-0eaf-4e38-86f5-58f3f7a7ae7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4d25ee8-f18f-4fb5-a030-b11628ebe7f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-b4d25ee8-f18f-4fb5-a030-b11628ebe7f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc2180c6-6e7d-4410-b2ac-04fa6f8732da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bc2180c6-6e7d-4410-b2ac-04fa6f8732da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_148_ports_port_id_patch_admin [0.142460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.089893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.022810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.079977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.273168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.044872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.055995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.033992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.161498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.027809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.082068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.096956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.029864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.135124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_160_portgroups_ports_get_admin [0.180545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.123434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.102075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_162_portgroups_ports_get_observer [0.128457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.315891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.130534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.110276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.286737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.128013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.078812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.031739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.045835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_volume_get_admin [0.153044s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fe0c1bc-be42-4316-8aae-0ce11879afdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-9fe0c1bc-be42-4316-8aae-0ce11879afdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-890d046c-2963-4567-a32a-8c48e634709f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-890d046c-2963-4567-a32a-8c48e634709f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd0f110b-6141-4614-aeb4-6cb1293c79ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd0f110b-6141-4614-aeb4-6cb1293c79ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-ea5cde49-9ce6-401c-ae7d-ecb39f00dbe8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-ea5cde49-9ce6-401c-ae7d-ecb39f00dbe8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-1cd1b976-f87e-4da0-af18-0aab9636eff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-1cd1b976-f87e-4da0-af18-0aab9636eff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-096729b6-9abe-49ee-97f5-e5f60a4db22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-096729b6-9abe-49ee-97f5-e5f60a4db22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1b34439-84f3-47d2-9de5-885b3cbf7680 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f1b34439-84f3-47d2-9de5-885b3cbf7680 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a144907d-54ed-427f-b098-49e929baf2a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.085434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.025439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.202503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.035784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.116747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.042478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.116733s] ... 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-a83e098b-c7d4-42a8-b93b-5920c8cb06e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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=a7244519-9445-4e51-b54b-46ad697e560c {} DEBUG util.py:445: GOT:{'node': {'uuid': 'a7244519-9445-4e51-b54b-46ad697e560c', '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/a7244519-9445-4e51-b54b-46ad697e560c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7244519-9445-4e51-b54b-46ad697e560c', '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=a7244519-9445-4e51-b54b-46ad697e560c {} DEBUG util.py:445: GOT:{'node': {'uuid': 'a7244519-9445-4e51-b54b-46ad697e560c', '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/a7244519-9445-4e51-b54b-46ad697e560c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7244519-9445-4e51-b54b-46ad697e560c', '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=a7244519-9445-4e51-b54b-46ad697e560c {} DEBUG util.py:445: GOT:{'node': {'uuid': 'a7244519-9445-4e51-b54b-46ad697e560c', '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/a7244519-9445-4e51-b54b-46ad697e560c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7244519-9445-4e51-b54b-46ad697e560c', '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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b3fff43-235c-47d6-8ed1-42a3982fce52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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=b463bd5f-0194-4e30-97f4-28fc13560f96 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ae0733e-d9e8-486d-a14d-7d0b1675080b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '87fecffa-6b53-4f48-a3eb-d6a1e4d982aa', '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/87fecffa-6b53-4f48-a3eb-d6a1e4d982aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/87fecffa-6b53-4f48-a3eb-d6a1e4d982aa', '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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1d632ef-d62a-44e2-bbe2-3481b7212e40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-590862e7-4d50-436e-a634-14430f5d0708 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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/ {} 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.80'}} 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-adfd988c-c9b6-4168-a2c2-2d73acdec95d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04-19T16:15:25.203399+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=True&node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:25.431242+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: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.137990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.038592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_member [0.097873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.083529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.054784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_088_nodes_traits_delete_admin [0.089090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.053573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.051566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.067079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.089772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.050907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_observer [0.682171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.306887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.047683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.630911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.033954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.054283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.030856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.023387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.025523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_092_nodes_traits_trait_put_member [0.194572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.019440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.017162s] ... 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-68132ea0-5f41-4d8c-bf18-51f673cc29c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68132ea0-5f41-4d8c-bf18-51f673cc29c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-9883dc1c-1c46-4fe2-a349-6eb6f7ba4b28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:24.758051+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-9883dc1c-1c46-4fe2-a349-6eb6f7ba4b28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:24.758051+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-a407fc1e-9e14-4d07-88a8-581717d5dc8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a407fc1e-9e14-4d07-88a8-581717d5dc8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d753daec-c57b-449e-ae21-5cfd2f01d4a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d753daec-c57b-449e-ae21-5cfd2f01d4a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44582d60-5b7a-456c-8e61-176a4f0b0239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44582d60-5b7a-456c-8e61-176a4f0b0239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-27f412ac-c3fd-431a-907a-15ffc6e455ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-27f412ac-c3fd-431a-907a-15ffc6e455ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8454a244-68a5-4218-8d14-bc9aa299e3a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8454a244-68a5-4218-8d14-bc9aa299e3a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_172_volume_connectors_post_admin [0.158285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.020985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.022304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.015665s] ... ok 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-e3ac847a-bc88-4c8a-90d7-f79bc0445190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:25.645787+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: 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-fc4dea82-1615-42b3-88e0-8f61c1e319ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-274203c1-f6d3-4429-93e0-db2ee3c8ea92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:25.780595+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': '/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-e80488b4-40ee-459b-b1e7-1367b0182440 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-9be1edfc-7d15-479a-8082-270b025ea436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-e36e21f2-a676-4c68-ade5-e0adc55bdb54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:25.937055+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/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-940378ac-9ae6-4159-8d5c-370a9822b4b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:26.020758+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', '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-b57905d3-7735-4730-b2d1-f68b6beb5c36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-0187dced-1549-4fc8-a7a0-d621bb8ead9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:26.146351+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': '21af27d5-dee7-45c7-b986-114fe12f194d', '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-07879026-6eeb-4131-a653-95a2093dab98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 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/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.070599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.067578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.113966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.024766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.026588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.020665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.093055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.155844s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.021745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.121305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.066361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.051768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.064974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.089053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.070472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.066534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.045260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.079753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.063950s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.277384s] ... 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-a144907d-54ed-427f-b098-49e929baf2a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dfb5033-4b65-4f41-b9b7-3f8ee8c57c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dfb5033-4b65-4f41-b9b7-3f8ee8c57c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6089e755-3f18-4756-ab95-dbed1e4845f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6089e755-3f18-4756-ab95-dbed1e4845f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1152c8c5-c884-4fdd-a39d-581eb0e4e209 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-1152c8c5-c884-4fdd-a39d-581eb0e4e209 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-678dc8af-9938-4f2e-b740-09a809dcc19c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-678dc8af-9938-4f2e-b740-09a809dcc19c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-69e0c36f-f559-4a14-a1b8-2daefac7ffd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e0c36f-f559-4a14-a1b8-2daefac7ffd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6cdb7212-abcb-4e25-82dd-8daece93c37c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-6cdb7212-abcb-4e25-82dd-8daece93c37c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-7b3ec7c5-3f1c-40a5-bf5f-90e4940aa483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7b3ec7c5-3f1c-40a5-bf5f-90e4940aa483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b51d2a9e-4d4e-4522-8554-58c3bf347372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_vifs_get_admin [0.327616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.106743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.105519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_observer [0.151925s] ... 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-391d9025-6f9e-4e5d-945a-984bc35752fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '65219e96-aca0-43f4-ac7e-8546fe9e5945', 'created_at': '2023-04-19T16:15:26.321933+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/65219e96-aca0-43f4-ac7e-8546fe9e5945', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/65219e96-aca0-43f4-ac7e-8546fe9e5945', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b74f1884-8113-4ab5-af3d-e9259a37d2a8', 'created_at': '2023-04-19T16:15:26.322970+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/b74f1884-8113-4ab5-af3d-e9259a37d2a8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b74f1884-8113-4ab5-af3d-e9259a37d2a8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'da61431b-12f1-4496-b4aa-31e9c29a3e00', 'created_at': '2023-04-19T16:15:26.323961+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/da61431b-12f1-4496-b4aa-31e9c29a3e00', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/da61431b-12f1-4496-b4aa-31e9c29a3e00', '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=da61431b-12f1-4496-b4aa-31e9c29a3e00'} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '3cacdf7c-1d3e-4b19-ac31-8709d9108f60', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/3cacdf7c-1d3e-4b19-ac31-8709d9108f60', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3cacdf7c-1d3e-4b19-ac31-8709d9108f60', 'rel': 'bookmark'}]}, {'uuid': '2d7f3f7d-d066-4bca-adf5-b77ac85a7f3f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/2d7f3f7d-d066-4bca-adf5-b77ac85a7f3f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/2d7f3f7d-d066-4bca-adf5-b77ac85a7f3f', 'rel': 'bookmark'}]}, {'uuid': 'a3f6e4ad-d85c-4765-b30e-a84a8b72fb30', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a3f6e4ad-d85c-4765-b30e-a84a8b72fb30', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a3f6e4ad-d85c-4765-b30e-a84a8b72fb30', 'rel': 'bookmark'}]}]} 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/0867d05e-c556-4b4f-870e-d606ae673a79 {} DEBUG util.py:445: GOT:{'uuid': '0867d05e-c556-4b4f-870e-d606ae673a79', 'created_at': '2023-04-19T16:15:26.567652+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/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets/0867d05e-c556-4b4f-870e-d606ae673a79 {} DEBUG util.py:445: GOT:{'uuid': '0867d05e-c556-4b4f-870e-d606ae673a79', 'created_at': '2023-04-19T16:15:26.567652+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/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/targets/0867d05e-c556-4b4f-870e-d606ae673a79 {} DEBUG util.py:445: GOT:{'uuid': '0867d05e-c556-4b4f-870e-d606ae673a79', 'created_at': '2023-04-19T16:15:26.567652+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/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0867d05e-c556-4b4f-870e-d606ae673a79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4852cefc-92c9-414a-8e84-67c1db3e31c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-356e7771-fd96-4319-aa62-b9f546aad0f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-469d7666-4d0d-49fa-b68e-4884938227ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-7ff5fa0a-5e3d-42a8-a7ee-249fe9bd3748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-35ed3533-353d-4c37-9039-20ae03664ae5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:26.800751+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: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.041743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.211676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.128495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.108609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_observer [0.088434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.074179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.079972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.049657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.091867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.136880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.104733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.085034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.108122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.137886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.086146s] ... ok DEBUG util.py:445: GOT:{'node': {'uuid': '5940532c-a845-428b-a376-03d78116a3c3', '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/5940532c-a845-428b-a376-03d78116a3c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/5940532c-a845-428b-a376-03d78116a3c3', '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/ {} 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.80'}} 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-4cbb3e95-ed2c-4179-918b-d2172117bae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/?limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '7f576ee4-77b5-4b1c-9106-aa07b37e8324', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7f576ee4-77b5-4b1c-9106-aa07b37e8324', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7f576ee4-77b5-4b1c-9106-aa07b37e8324', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a8767c29-9763-49da-a01b-cebce3e1b744', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/a8767c29-9763-49da-a01b-cebce3e1b744', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a8767c29-9763-49da-a01b-cebce3e1b744', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '71de7ef4-2c9e-40d4-b936-09698fc0239e', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/71de7ef4-2c9e-40d4-b936-09698fc0239e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/71de7ef4-2c9e-40d4-b936-09698fc0239e', '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=71de7ef4-2c9e-40d4-b936-09698fc0239e'} DEBUG util.py:445: GET: /v1/volume/connectors?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'f5bb39ba-61ca-43e0-8ada-4ba96fc5834d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/f5bb39ba-61ca-43e0-8ada-4ba96fc5834d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f5bb39ba-61ca-43e0-8ada-4ba96fc5834d', 'rel': 'bookmark'}]}, {'uuid': 'b8ffe228-8cdf-4719-b693-c7beee16f8b8', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b8ffe228-8cdf-4719-b693-c7beee16f8b8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b8ffe228-8cdf-4719-b693-c7beee16f8b8', 'rel': 'bookmark'}]}, {'uuid': '37b5e194-678c-49e6-b077-6d8583cdb451', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/37b5e194-678c-49e6-b077-6d8583cdb451', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/37b5e194-678c-49e6-b077-6d8583cdb451', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=37b5e194-678c-49e6-b077-6d8583cdb451'} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '2a0ae595-e5d7-473f-b111-858e8d987911', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2a0ae595-e5d7-473f-b111-858e8d987911', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2a0ae595-e5d7-473f-b111-858e8d987911', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6c6b33cb-0132-4b6e-b4e5-85c64f9edf26', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6c6b33cb-0132-4b6e-b4e5-85c64f9edf26', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6c6b33cb-0132-4b6e-b4e5-85c64f9edf26', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '74756008-80fd-404c-8989-c1e915c6e144', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/74756008-80fd-404c-8989-c1e915c6e144', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/74756008-80fd-404c-8989-c1e915c6e144', '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=74756008-80fd-404c-8989-c1e915c6e144'} DEBUG util.py:445: GET: /v1/volume/connectors?detail=False {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /v1/volume/connectors?node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '25dba499-c964-4b6a-a711-10a83a8af3b0', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/25dba499-c964-4b6a-a711-10a83a8af3b0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/25dba499-c964-4b6a-a711-10a83a8af3b0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'af41a851-cfa8-4d45-a6ee-1c230b7c7828', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/af41a851-cfa8-4d45-a6ee-1c230b7c7828', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/af41a851-cfa8-4d45-a6ee-1c230b7c7828', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0a0690ce-9373-46c1-ad58-8c4744dd16ae', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0a0690ce-9373-46c1-ad58-8c4744dd16ae', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0a0690ce-9373-46c1-ad58-8c4744dd16ae', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.071450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_107_nodes_management_indicators_get_member [0.077580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_drivers_get_admin [0.107225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.076505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.086793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.040204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.067140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.044389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.046009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.057649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_observer [0.157225s] ... 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/volume/connectors/00d3bb8a-ca91-4456-b9a4-fcfecd578152 DEBUG util.py:445: Openstack-Request-Id: req-84ace95e-59bf-46ae-9019-6534a1d416ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "00d3bb8a-ca91-4456-b9a4-fcfecd578152", "created_at": "2023-04-19T16:15:26.245241+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/00d3bb8a-ca91-4456-b9a4-fcfecd578152", "rel": "self"}, {"href": "http://localhost/volume/connectors/00d3bb8a-ca91-4456-b9a4-fcfecd578152", "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/00d3bb8a-ca91-4456-b9a4-fcfecd578152 DEBUG util.py:445: Openstack-Request-Id: req-84ace95e-59bf-46ae-9019-6534a1d416ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "00d3bb8a-ca91-4456-b9a4-fcfecd578152", "created_at": "2023-04-19T16:15:26.245241+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/00d3bb8a-ca91-4456-b9a4-fcfecd578152", "rel": "self"}, {"href": "http://localhost/volume/connectors/00d3bb8a-ca91-4456-b9a4-fcfecd578152", "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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-723f5fac-3124-49af-b9b0-c84253e3b00e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-723f5fac-3124-49af-b9b0-c84253e3b00e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f6382b08-2f0d-4a97-80df-74d7d7b52a70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6382b08-2f0d-4a97-80df-74d7d7b52a70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5bff822-2ba9-4164-a71c-1f519751498d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a5bff822-2ba9-4164-a71c-1f519751498d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-2317351f-ddbd-4eb9-ae74-85a6bd36309e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2317351f-ddbd-4eb9-ae74-85a6bd36309e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01c54acd-ce91-482a-8183-5c78308a0d87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01c54acd-ce91-482a-8183-5c78308a0d87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-32a5f716-93ed-4637-b19f-0a078a29de5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-32a5f716-93ed-4637-b19f-0a078a29de5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa4a6c68-233b-4800-ab6d-bdd20bd16a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aa4a6c68-233b-4800-ab6d-bdd20bd16a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_observer [0.089022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_211_drivers_driver_name_get_admin [0.100369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.050147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.113065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.054771s] ... 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-b51d2a9e-4d4e-4522-8554-58c3bf347372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-961027b6-7537-45f4-9a6a-8d4983fc5bfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-961027b6-7537-45f4-9a6a-8d4983fc5bfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8610bb75-aca2-4db0-975c-e4a3c5e9af6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8610bb75-aca2-4db0-975c-e4a3c5e9af6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2660ce14-8221-4415-90b4-a3007f516337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2660ce14-8221-4415-90b4-a3007f516337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9b4c77c8-8f24-439a-909a-9c1fe8b8bb78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b4c77c8-8f24-439a-909a-9c1fe8b8bb78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6769691b-c761-47ae-becf-794c60119c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-6769691b-c761-47ae-becf-794c60119c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb7cc4c3-31a2-4813-94ee-ef059bcf0cd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:27.420788+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-bb7cc4c3-31a2-4813-94ee-ef059bcf0cd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:27.420788+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.094653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_member [0.102019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.047050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.104829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.079229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.039029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_nodes_portgroups_get_admin [0.066973s] ... 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-abebaf71-f23e-46d3-bea4-6053795cfe29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', '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-984e7f03-ecba-43e6-b45c-959952b60513 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:26.943802+00:00", "updated_at": "2023-04-19T16:15:26.949051+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-a05f90e1-0e05-4da2-a0ef-427a3f59de49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:26.943802+00:00", "updated_at": "2023-04-19T16:15:26.949051+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': '/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-a30a6c5c-896b-4b3f-a639-b20950373d9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-ff7ed683-d11f-4a13-a85c-f5e5a073b8da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-e715ffd4-1f0f-41f6-9844-258b538e5874 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 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/c44abed0-524a-4438-8875-6f0c54608119 DEBUG util.py:445: Openstack-Request-Id: req-b791d6a3-d326-48dd-bb90-14d54285da23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c44abed0-524a-4438-8875-6f0c54608119", "created_at": "2023-04-19T16:15:27.339877+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/c44abed0-524a-4438-8875-6f0c54608119", "rel": "self"}, {"href": "http://localhost/volume/targets/c44abed0-524a-4438-8875-6f0c54608119", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/c44abed0-524a-4438-8875-6f0c54608119 {} DEBUG util.py:445: GOT:{'uuid': 'c44abed0-524a-4438-8875-6f0c54608119', 'created_at': '2023-04-19T16:15:27.339877+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/c44abed0-524a-4438-8875-6f0c54608119', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c44abed0-524a-4438-8875-6f0c54608119', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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-4871c05f-9367-4314-9f81-db9173ff524a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: 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-1ef64c98-7d34-4253-ba53-6eb52f92b0ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-1ef64c98-7d34-4253-ba53-6eb52f92b0ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ba133e3-77b7-4f97-89ed-dc2991065db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.140285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.178619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.102877s] ... ok DEBUG util.py:445: GOT:{'connectors': [{'uuid': '85a0746b-747f-497f-9e2d-43aa36f01d79', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/85a0746b-747f-497f-9e2d-43aa36f01d79', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/85a0746b-747f-497f-9e2d-43aa36f01d79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '192fd422-8159-42e3-b879-330f98ac8c1b', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/192fd422-8159-42e3-b879-330f98ac8c1b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/192fd422-8159-42e3-b879-330f98ac8c1b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4d85133a-88e3-4976-811c-d080e0634418', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4d85133a-88e3-4976-811c-d080e0634418', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4d85133a-88e3-4976-811c-d080e0634418', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '441a4182-f8af-41e8-a4dd-9ed50c727fec', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/441a4182-f8af-41e8-a4dd-9ed50c727fec', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/441a4182-f8af-41e8-a4dd-9ed50c727fec', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0aa2d944-eb8c-4a9a-88c2-1c72598c596b', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0aa2d944-eb8c-4a9a-88c2-1c72598c596b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0aa2d944-eb8c-4a9a-88c2-1c72598c596b', '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: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-e4ed62a6-a816-4636-95b8-2afc60565d6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:27.425090+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '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-9ee80245-7f8c-4d03-8208-09b157a7eeba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:27.479636+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': '/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-d3c05108-6f66-42d4-bb82-d039381660f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c33022a9-3aab-4cdf-b4a2-c3fd2472d38b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-5875b8df-c071-480c-8377-f78c6798e082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:27.634680+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': '/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-b53d3fa6-839b-4948-823f-7cda91911668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 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': {'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-9173f1ed-1ea1-491b-b32e-3b54d998b099 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:27.820599+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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.064317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.033638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_ports_get_admin [0.153091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.044308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.085114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.037924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.146820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.058901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.069056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_138_ports_get_observer [0.179305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.219604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.193616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.143512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_233_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_140_ports_post_member [0.164250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.047668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.027465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_member [0.080748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.043996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.036899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.040973s] ... 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-8aa83fed-206e-461e-b058-d2db50983c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:27.534223+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-8aa83fed-206e-461e-b058-d2db50983c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:27.534223+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d3c9217-d5ae-4272-a0a3-14fd5e939568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d3c9217-d5ae-4272-a0a3-14fd5e939568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cfaa16a3-55ed-4524-b732-ed8d9ca317a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cfaa16a3-55ed-4524-b732-ed8d9ca317a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ebf6287a-1c1a-42cc-82d3-0903c6c07759 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ebf6287a-1c1a-42cc-82d3-0903c6c07759 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3742fb7-1bc6-405f-a61b-9c5a892da0d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3742fb7-1bc6-405f-a61b-9c5a892da0d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e36dff8-4d3a-4113-937d-ff4b3bc6b2c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6e36dff8-4d3a-4113-937d-ff4b3bc6b2c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_142_ports_detail_get_admin [0.086329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.039671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.181710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.064801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_member [0.301314s] ... ok DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-04-19T16:15:27.820599+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eee07497-b58a-4aff-93fc-8c6f177cde36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"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-5b6249fc-83b7-45c9-a4ea-243c801910b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5459e231-90e5-4728-9571-b0f0a06b2f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} 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/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-9a55f137-d049-4a06-af1d-8c42a93d348f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': 'b53463be-d1bf-4b0c-8b6b-67a7471c0e2d', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b53463be-d1bf-4b0c-8b6b-67a7471c0e2d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b53463be-d1bf-4b0c-8b6b-67a7471c0e2d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3f9fa8b9-7e51-4a1a-9acb-0a7bdb71b949', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/3f9fa8b9-7e51-4a1a-9acb-0a7bdb71b949', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3f9fa8b9-7e51-4a1a-9acb-0a7bdb71b949', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '65b0bddc-27db-4e19-b077-c14d6597e395', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/65b0bddc-27db-4e19-b077-c14d6597e395', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/65b0bddc-27db-4e19-b077-c14d6597e395', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-0f907c2f-033e-4725-bc43-5e2453db51a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5e1fc7a-03e6-49eb-8c13-b6448e1ed6c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:28.330400+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': '/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-b8ae974e-12c4-4fed-8b22-7daee53687d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-65e0426f-837f-436b-9aeb-d1a0baedfbcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 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-f7d0c2d5-3dfb-432d-a6d5-79a9e4724c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, '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-364db472-a8c7-4477-af17-a6ade23cc277 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.121343s] ... 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-1ba133e3-77b7-4f97-89ed-dc2991065db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-85e0546a-3183-4913-ac34-d295416c1810 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-85e0546a-3183-4913-ac34-d295416c1810 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-15578fe3-c4ec-4de2-a379-a61e4854a19d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-15578fe3-c4ec-4de2-a379-a61e4854a19d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-171a40ea-c4a3-4974-8f94-96f51a764401 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "7ca21ada-3585-42e0-849c-debf085b2706", "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-171a40ea-c4a3-4974-8f94-96f51a764401 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "7ca21ada-3585-42e0-849c-debf085b2706", "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-7244f378-ff88-464c-bb7e-16abe23d4443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:28.272510+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:28.275286+00:00", "updated_at": "2023-04-19T16:15:28.278834+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ca0c3a4e-b8aa-4912-b2f9-d3622ce0f672", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "ca0c3a4e-b8aa-4912-b2f9-d3622ce0f672", "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-04-19T16:15:28.292822+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7244f378-ff88-464c-bb7e-16abe23d4443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:28.272510+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:28.275286+00:00", "updated_at": "2023-04-19T16:15:28.278834+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ca0c3a4e-b8aa-4912-b2f9-d3622ce0f672", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "ca0c3a4e-b8aa-4912-b2f9-d3622ce0f672", "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-04-19T16:15:28.292822+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_013_nodes_detail_get_observer [0.243592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.181325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.177766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9af35293-a043-4baf-9585-6f13445cd23e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9af35293-a043-4baf-9585-6f13445cd23e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a350b59-43a1-4085-86e5-92e56f07b2a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a350b59-43a1-4085-86e5-92e56f07b2a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc892a2f-167e-4d72-8141-f56cf03fe7f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fc892a2f-167e-4d72-8141-f56cf03fe7f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-3a4820d7-2304-4840-892a-dbdde89acb23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3a4820d7-2304-4840-892a-dbdde89acb23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-1e7924e2-f4ba-4d4b-8217-a54c920e614a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1e7924e2-f4ba-4d4b-8217-a54c920e614a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9a9543a5-d789-44a0-989d-fd0816b50e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9a9543a5-d789-44a0-989d-fd0816b50e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-390530c2-f1db-4b43-906e-4d07af9e1152 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-390530c2-f1db-4b43-906e-4d07af9e1152 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-48d5364b-070d-42cb-95b1-5b434a6b2c3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:28.407615+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48d5364b-070d-42cb-95b1-5b434a6b2c3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:28.407615+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_249_allocations_get_admin [0.163884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_253_allocations_allocation_id_get_member [0.188021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_5_public_api [0.088183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.035668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.093320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.240827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_member [0.370937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.088140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.080957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_observer [0.070853s] ... 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/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-ae2a78ea-70c3-4756-a422-ff854a38fb63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:28.633039+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 / 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-e8e6d716-ae4b-4b21-a1f5-fecea4b8d37f DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8e6d716-ae4b-4b21-a1f5-fecea4b8d37f DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.80"}]} 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-0b55f6e6-edb8-4664-88dc-d13ee273495d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "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-0b55f6e6-edb8-4664-88dc-d13ee273495d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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.80"}, "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-803deafd-7401-4fb3-a1c6-9f7cbe994893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-803deafd-7401-4fb3-a1c6-9f7cbe994893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.078273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.169283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_150_ports_port_id_patch_observer [0.140983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_member [0.080641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.088331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_member [0.124107s] ... ok 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-a66da53d-b8d6-4e13-8f91-e533f7d2cc9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "bbfdbeeb-7f77-4f61-9939-9b992e476700", "created_at": "2023-04-19T16:15:28.574011+00:00", "updated_at": "2023-04-19T16:15:28.595222+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bbfdbeeb-7f77-4f61-9939-9b992e476700", "rel": "self"}, {"href": "http://localhost/allocations/bbfdbeeb-7f77-4f61-9939-9b992e476700", "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-a66da53d-b8d6-4e13-8f91-e533f7d2cc9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "bbfdbeeb-7f77-4f61-9939-9b992e476700", "created_at": "2023-04-19T16:15:28.574011+00:00", "updated_at": "2023-04-19T16:15:28.595222+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bbfdbeeb-7f77-4f61-9939-9b992e476700", "rel": "self"}, {"href": "http://localhost/allocations/bbfdbeeb-7f77-4f61-9939-9b992e476700", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/5c962251-c8cc-451a-8f28-37f2109b3e4b DEBUG util.py:445: GET: /v1/allocations/5c962251-c8cc-451a-8f28-37f2109b3e4b {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6d55095-37a3-41bd-b8cb-f0792533ae5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5c962251-c8cc-451a-8f28-37f2109b3e4b 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-b6d55095-37a3-41bd-b8cb-f0792533ae5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5c962251-c8cc-451a-8f28-37f2109b3e4b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7 DEBUG util.py:445: GET: /v1/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-090d6f90-8537-40ac-9214-4679f983ca14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "created_at": "2023-04-19T16:15:28.895013+00:00", "updated_at": "2023-04-19T16:15:28.905365+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "rel": "self"}, {"href": "http://localhost/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "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-090d6f90-8537-40ac-9214-4679f983ca14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "created_at": "2023-04-19T16:15:28.895013+00:00", "updated_at": "2023-04-19T16:15:28.905365+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "rel": "self"}, {"href": "http://localhost/allocations/1ce1bc92-b899-4fad-8ca1-3abdc8f25ae7", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/08e4f924-fe5c-4dea-b761-7de407b5fc40 DEBUG util.py:445: DELETE: /v1/allocations/08e4f924-fe5c-4dea-b761-7de407b5fc40 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f182e90-91db-4e19-826d-f5068755a012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f182e90-91db-4e19-826d-f5068755a012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93dc4aeb-cc26-4c18-8957-ffb73522c521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "created_at": "2023-04-19T16:15:29.056555+00:00", "updated_at": "2023-04-19T16:15:29.063702+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "rel": "self"}, {"href": "http://localhost/allocations/85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "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-93dc4aeb-cc26-4c18-8957-ffb73522c521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "created_at": "2023-04-19T16:15:29.056555+00:00", "updated_at": "2023-04-19T16:15:29.063702+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "rel": "self"}, {"href": "http://localhost/allocations/85eeb6ec-e5c2-442b-95c8-a274c2b941d0", "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-f01545aa-155c-4abb-a9da-378b386ba705 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f01545aa-155c-4abb-a9da-378b386ba705 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_observer [0.072637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_272_deploy_templates_get_observer [0.087035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_156_nodes_ports_get_observer [0.076756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_030_nodes_maintenance_delete_member [0.127898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.086198s] ... 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-02339731-54c0-452d-9e8f-0f3bc2f4885f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.063197+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02339731-54c0-452d-9e8f-0f3bc2f4885f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.063197+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b0c1d89-d7d9-4bb4-bd7b-926ecdbe5be4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.170087+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:29.173827+00:00", "updated_at": "2023-04-19T16:15:29.179520+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "4be34f24-5541-492c-9a2e-b2a5fff433b4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "4be34f24-5541-492c-9a2e-b2a5fff433b4", "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-04-19T16:15:29.203181+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b0c1d89-d7d9-4bb4-bd7b-926ecdbe5be4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.170087+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:29.173827+00:00", "updated_at": "2023-04-19T16:15:29.179520+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "4be34f24-5541-492c-9a2e-b2a5fff433b4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "4be34f24-5541-492c-9a2e-b2a5fff433b4", "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-04-19T16:15:29.203181+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.141606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_016_nodes_node_ident_get_observer [0.209495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_member [0.102358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.110272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.081514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.086446s] ... 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-2d8e891e-a975-4143-a8d2-496933bb9b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:28.300506+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-2d8e891e-a975-4143-a8d2-496933bb9b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:28.300506+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4f45b63-0f3e-4f94-8b03-3efeee69f18b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e4f45b63-0f3e-4f94-8b03-3efeee69f18b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d245a92a-f1e0-4003-9c49-26bbe356babb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d245a92a-f1e0-4003-9c49-26bbe356babb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1b52aff-32ad-4543-b4ca-35f90795369b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c1b52aff-32ad-4543-b4ca-35f90795369b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75c75435-6d25-412e-9202-398740836802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-75c75435-6d25-412e-9202-398740836802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23d34694-391e-4653-92de-6a2cffc73859 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-23d34694-391e-4653-92de-6a2cffc73859 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-a6ba849b-b10d-485b-8d80-6c82e7b827b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a6ba849b-b10d-485b-8d80-6c82e7b827b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_observer [0.073888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.139468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.117129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.092869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.108300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.064992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.133218s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f1fb3eb-d7a8-4aa4-a1c9-b86d1321f712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-2f1fb3eb-d7a8-4aa4-a1c9-b86d1321f712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49841068-3578-46ce-b0cf-b2e0f6c25b45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-49841068-3578-46ce-b0cf-b2e0f6c25b45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95296347-deeb-46ac-8421-973c23f04865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-95296347-deeb-46ac-8421-973c23f04865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-0388db1a-780e-4ce1-9745-b755cbaa6d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-0388db1a-780e-4ce1-9745-b755cbaa6d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18dd51a3-c2d8-4a92-9fc4-7846b0b7aafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18dd51a3-c2d8-4a92-9fc4-7846b0b7aafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cd6e7e95-d25c-48cc-8de6-285b89510d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-cd6e7e95-d25c-48cc-8de6-285b89510d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-eefe2a72-8878-45b3-b8a0-783d02e49eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eefe2a72-8878-45b3-b8a0-783d02e49eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9a5887e4-3f37-435d-9233-b30c6f6d7350 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a5887e4-3f37-435d-9233-b30c6f6d7350 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.086166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.064275s] ... 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-c8476b94-ad58-45af-8865-1f8aec9be9db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.336336+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8476b94-ad58-45af-8865-1f8aec9be9db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:29.336336+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path 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-861f4910-43aa-4ec3-8a42-e7013193baae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-861f4910-43aa-4ec3-8a42-e7013193baae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0a9d25f6-f143-456f-960c-a90a66677521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-0a9d25f6-f143-456f-960c-a90a66677521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.102065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_044_nodes_states_get_admin [0.094842s] ... ok 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-c88adb81-830b-4e77-9916-92749805bc15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c88adb81-830b-4e77-9916-92749805bc15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79d2d950-51d8-40d3-b7f9-356eeceaa921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "c39014a0-738c-414c-a83f-b487c275fe46", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/c39014a0-738c-414c-a83f-b487c275fe46", "rel": "self"}, {"href": "http://localhost/deploy_templates/c39014a0-738c-414c-a83f-b487c275fe46", "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-79d2d950-51d8-40d3-b7f9-356eeceaa921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "c39014a0-738c-414c-a83f-b487c275fe46", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/c39014a0-738c-414c-a83f-b487c275fe46", "rel": "self"}, {"href": "http://localhost/deploy_templates/c39014a0-738c-414c-a83f-b487c275fe46", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708 DEBUG util.py:445: GET: /v1/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53d80440-8801-4bb4-b789-b7602b532941 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "15041323-f741-4292-9ee7-8a5e01e7b708", "created_at": "2023-04-19T16:15:29.390764+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708", "rel": "self"}, {"href": "http://localhost/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708", "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-53d80440-8801-4bb4-b789-b7602b532941 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "15041323-f741-4292-9ee7-8a5e01e7b708", "created_at": "2023-04-19T16:15:29.390764+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708", "rel": "self"}, {"href": "http://localhost/deploy_templates/15041323-f741-4292-9ee7-8a5e01e7b708", "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/005b8275-9fa6-42e2-8400-9e188da4f906 DEBUG util.py:445: PATCH: /v1/deploy_templates/005b8275-9fa6-42e2-8400-9e188da4f906 [{'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-8a990d49-e477-4206-99bd-74207babe4b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "005b8275-9fa6-42e2-8400-9e188da4f906", "created_at": "2023-04-19T16:15:29.471995+00:00", "updated_at": "2023-04-19T16:15:29.502552+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/005b8275-9fa6-42e2-8400-9e188da4f906", "rel": "self"}, {"href": "http://localhost/deploy_templates/005b8275-9fa6-42e2-8400-9e188da4f906", "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-8a990d49-e477-4206-99bd-74207babe4b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "005b8275-9fa6-42e2-8400-9e188da4f906", "created_at": "2023-04-19T16:15:29.471995+00:00", "updated_at": "2023-04-19T16:15:29.502552+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/005b8275-9fa6-42e2-8400-9e188da4f906", "rel": "self"}, {"href": "http://localhost/deploy_templates/005b8275-9fa6-42e2-8400-9e188da4f906", "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/656af94d-aaa2-4234-8143-d797b95cc9b5 DEBUG util.py:445: PATCH: /v1/deploy_templates/656af94d-aaa2-4234-8143-d797b95cc9b5 [{'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-23136eb6-d0ba-4d91-934f-9a9d89e570a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-23136eb6-d0ba-4d91-934f-9a9d89e570a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/ab3e3a96-d5ab-4d36-a6e1-e298b2cf5541 DEBUG util.py:445: DELETE: /v1/deploy_templates/ab3e3a96-d5ab-4d36-a6e1-e298b2cf5541 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d757fe04-e13c-468a-92c4-ade7eee3eb08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d757fe04-e13c-468a-92c4-ade7eee3eb08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 delete /v1/deploy_templates/52180716-d634-48ab-a068-39e55bd6343d DEBUG util.py:445: DELETE: /v1/deploy_templates/52180716-d634-48ab-a068-39e55bd6343d DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f1992f1-81af-415b-b008-7b21bead35c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.065498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_chassis_post_admin [0.070785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_188_volume_targets_post_member [0.106530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.079469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.079662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_189_volume_targets_post_observer [0.092620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.084846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.087628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_observer [0.078236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.073296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_045_nodes_states_get_member [0.313888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_303_node_history_get_entry_admin [0.091141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.078991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_047_nodes_states_power_put_admin [0.097699s] ... 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-959a0eb0-5c30-4080-abb5-1071a78936ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-959a0eb0-5c30-4080-abb5-1071a78936ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61c34075-9b0f-43e2-bc2d-29053d0de3d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61c34075-9b0f-43e2-bc2d-29053d0de3d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6a709daf-62f9-46a3-969d-8ba52bf6e294 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6a709daf-62f9-46a3-969d-8ba52bf6e294 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-a541502a-4c02-410e-9560-81ba9989e140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a541502a-4c02-410e-9560-81ba9989e140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-027ea1a7-8cda-4a48-9070-cdca0600bc81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-027ea1a7-8cda-4a48-9070-cdca0600bc81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-cd4768eb-be6e-4d75-9586-5cae4949659c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cd4768eb-be6e-4d75-9586-5cae4949659c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9ead520d-a4be-4ad0-b4a5-c341b1556c6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.107492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_090_nodes_traits_delete_observer [0.071832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_004_owner_manager_cannot_post_nodes [0.143730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.079381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_member [0.092841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.074265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_manager_can_post_nodes [0.086776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.086672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.090397s] ... 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-01bc20c7-addb-405d-bbcd-275ae0c43af6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01bc20c7-addb-405d-bbcd-275ae0c43af6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-108ca225-1ad2-45e3-948b-da4f9fcf426d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-108ca225-1ad2-45e3-948b-da4f9fcf426d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a53c4573-4cbc-4c1c-bc31-90f427096e01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-a53c4573-4cbc-4c1c-bc31-90f427096e01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-c54a2697-abc1-4d88-a1d7-de409ccb8aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c54a2697-abc1-4d88-a1d7-de409ccb8aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-c6e0b219-dccd-4f17-b34a-d9454a8fe81f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6e0b219-dccd-4f17-b34a-d9454a8fe81f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8e3b9c0-550f-4cc5-9232-9d5c6e10533d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-f8e3b9c0-550f-4cc5-9232-9d5c6e10533d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-d3d90eb9-ecd5-4579-a8e2-2b3644550396 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3d90eb9-ecd5-4579-a8e2-2b3644550396 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a80d227-bd17-4655-bb95-64b14fc3bfa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2a80d227-bd17-4655-bb95-64b14fc3bfa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.066623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.079397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_member [0.070970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.085104s] ... 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-6f1992f1-81af-415b-b008-7b21bead35c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/d2fb2391-1749-4caf-a4c1-52843f2d16c3 DEBUG util.py:445: Openstack-Request-Id: req-882ab8d9-27c0-46a7-be2e-11db94461337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d2fb2391-1749-4caf-a4c1-52843f2d16c3", "created_at": "2023-04-19T16:15:29.822867+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3", "rel": "self"}, {"href": "http://localhost/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3/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/d2fb2391-1749-4caf-a4c1-52843f2d16c3 DEBUG util.py:445: Openstack-Request-Id: req-882ab8d9-27c0-46a7-be2e-11db94461337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d2fb2391-1749-4caf-a4c1-52843f2d16c3", "created_at": "2023-04-19T16:15:29.822867+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3", "rel": "self"}, {"href": "http://localhost/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d2fb2391-1749-4caf-a4c1-52843f2d16c3/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-d88cacba-61df-4d75-a81f-8a11aa6634f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d88cacba-61df-4d75-a81f-8a11aa6634f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97b2f765-466d-4133-985a-db5eb7304c58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97b2f765-466d-4133-985a-db5eb7304c58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e498107-49a0-4432-9381-7264f42051c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6", "created_at": "2023-04-19T16:15:30.039421+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e498107-49a0-4432-9381-7264f42051c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6", "created_at": "2023-04-19T16:15:30.039421+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3d0f1436-bdc1-4dbc-a4fc-b33dcb536cb6", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9602a9bf-7a49-4b78-ab95-82c64a576d95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9602a9bf-7a49-4b78-ab95-82c64a576d95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-94d83b98-6052-43eb-90b1-70b222a4914a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-94d83b98-6052-43eb-90b1-70b222a4914a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_admin_can_get_node [0.120174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_reader_can_get_node [0.074183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.076082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.078827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.102629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_110_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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_lessee_manager_can_get_node [0.067821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_member [0.086502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_reader_can_get_node [0.070162s] ... 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-9d829682-5125-47b6-9336-3a2417c3451c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d829682-5125-47b6-9336-3a2417c3451c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-16b7e161-f5dc-4197-8fe4-11dc0ab68c94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-16b7e161-f5dc-4197-8fe4-11dc0ab68c94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-24396f6c-a38f-43a1-a9a8-5f004570c4ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-24396f6c-a38f-43a1-a9a8-5f004570c4ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acf24fee-1770-44d0-9b36-95955d53249e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acf24fee-1770-44d0-9b36-95955d53249e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c97d9415-e13b-4612-a252-32bb5e3d9770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c97d9415-e13b-4612-a252-32bb5e3d9770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b594ff7e-6776-4e54-9dbb-f9127eda1bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-b594ff7e-6776-4e54-9dbb-f9127eda1bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ab30782-95fb-48f7-8c65-2cd590b27353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ab30782-95fb-48f7-8c65-2cd590b27353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-477a9838-9481-4952-9d8b-36b3297a3148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-477a9838-9481-4952-9d8b-36b3297a3148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.086456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_112_portgroups_get_admin [0.063145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_247_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.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.071029s] ... 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-3395361f-2b91-4bfd-a8bd-d39192186890 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "1cd0ab1a-253a-4c5f-86db-73fda0e2020b", "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-3395361f-2b91-4bfd-a8bd-d39192186890 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "1cd0ab1a-253a-4c5f-86db-73fda0e2020b", "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-5dba1a7c-6b1c-4840-a362-3419b4d80a87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "6f12dabe-0024-4f76-bc6c-8e5af9606f96", "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-5dba1a7c-6b1c-4840-a362-3419b4d80a87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "6f12dabe-0024-4f76-bc6c-8e5af9606f96", "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-817b2dce-7b76-41e0-bd6c-ad6f1452ef1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "87d07342-7009-43f2-b344-cb63133d01a3", "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-817b2dce-7b76-41e0-bd6c-ad6f1452ef1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "87d07342-7009-43f2-b344-cb63133d01a3", "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-ddf1e864-4153-45a9-ae7e-863822d57ad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "4901e28d-384d-483f-b2f4-797cf7d46f38", "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-ddf1e864-4153-45a9-ae7e-863822d57ad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "4901e28d-384d-483f-b2f4-797cf7d46f38", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_024_lessee_reader_can_get_their_node [0.066249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_member [0.067987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_member [0.084752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_062_nodes_states_console_get_admin [0.116848s] ... 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-b8a83e46-4a49-4af8-8ad4-b745670ad8cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:30.686387+00:00", "updated_at": "2023-04-19T16:15:30.693771+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "7f5a9090-d004-4bcd-8b77-28c048868d17", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "7f5a9090-d004-4bcd-8b77-28c048868d17", "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-b8a83e46-4a49-4af8-8ad4-b745670ad8cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:30.686387+00:00", "updated_at": "2023-04-19T16:15:30.693771+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "7f5a9090-d004-4bcd-8b77-28c048868d17", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "7f5a9090-d004-4bcd-8b77-28c048868d17", "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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_can_get_detail [0.079192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_observer [0.072011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_063_nodes_states_console_get_member [0.086909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.070577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_observer [0.132883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_owner_manager_can_patch_node_extra [0.127624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.076432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.080854s] ... 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-9ead520d-a4be-4ad0-b4a5-c341b1556c6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36cb5d61-15c6-473b-8bbe-13180571a24c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-36cb5d61-15c6-473b-8bbe-13180571a24c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c14c9876-45b3-40a5-a832-4e2a20f553b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c14c9876-45b3-40a5-a832-4e2a20f553b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-de2c3f10-3726-4870-9eb5-4af924156ce9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-de2c3f10-3726-4870-9eb5-4af924156ce9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c7952f50-e038-4ae7-ad2c-8fd1de355978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c7952f50-e038-4ae7-ad2c-8fd1de355978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c37da5d1-bcc1-4ebb-9ce7-f10f2bd8d7fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c37da5d1-bcc1-4ebb-9ce7-f10f2bd8d7fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-1b9f6a54-adb2-4a1b-944e-f43444c0a26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1b9f6a54-adb2-4a1b-944e-f43444c0a26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74f04c19-5f9a-46e7-9e12-afe1d49addfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "3f0b7a36-5132-4f88-ad76-d88b034ab87d", "created_at": "2023-04-19T16:15:30.816092+00:00", "updated_at": "2023-04-19T16:15:30.833287+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3f0b7a36-5132-4f88-ad76-d88b034ab87d", "rel": "self"}, {"href": "http://localhost/allocations/3f0b7a36-5132-4f88-ad76-d88b034ab87d", "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-74f04c19-5f9a-46e7-9e12-afe1d49addfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "3f0b7a36-5132-4f88-ad76-d88b034ab87d", "created_at": "2023-04-19T16:15:30.816092+00:00", "updated_at": "2023-04-19T16:15:30.833287+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3f0b7a36-5132-4f88-ad76-d88b034ab87d", "rel": "self"}, {"href": "http://localhost/allocations/3f0b7a36-5132-4f88-ad76-d88b034ab87d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05 DEBUG util.py:445: GET: /v1/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05 {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.087730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.083245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.105818s] ... 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-2f997aae-71bc-4072-980f-9844780acb79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:30.751724+00:00", "updated_at": "2023-04-19T16:15:30.759314+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e9ff82c8-1897-44d8-aa94-e080792baff0", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "e9ff82c8-1897-44d8-aa94-e080792baff0", "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-2f997aae-71bc-4072-980f-9844780acb79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:30.751724+00:00", "updated_at": "2023-04-19T16:15:30.759314+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e9ff82c8-1897-44d8-aa94-e080792baff0", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "e9ff82c8-1897-44d8-aa94-e080792baff0", "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-02655818-7128-47f9-8d6e-7c1a65fbe4ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02655818-7128-47f9-8d6e-7c1a65fbe4ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5e3d2fe-96da-4891-ad58-03d517067b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_reader_cannot_patch_node_extra [0.103741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_member_can_patch_node_extra [0.087206s] ... 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-45b16ac9-2c8e-44cc-a023-adf3991142fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-45b16ac9-2c8e-44cc-a023-adf3991142fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-7529a26c-cb06-4c93-8c20-b2880982b655 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-7529a26c-cb06-4c93-8c20-b2880982b655 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6003fe30-7eaa-4351-b103-f46f96084c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6003fe30-7eaa-4351-b103-f46f96084c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a112d4c5-e28a-4224-87ef-0a715d6a28d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a112d4c5-e28a-4224-87ef-0a715d6a28d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d85bb6c7-4b7e-41b2-9c66-fe7561e6ac95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d85bb6c7-4b7e-41b2-9c66-fe7561e6ac95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-440ecaad-fbfb-42a6-a79a-c6c86fa2c4e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-440ecaad-fbfb-42a6-a79a-c6c86fa2c4e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98149609-be64-4402-b46b-954c983a4f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98149609-be64-4402-b46b-954c983a4f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ff4e3cde-7bf0-4c84-8539-2133bce70307 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ff4e3cde-7bf0-4c84-8539-2133bce70307 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_member [0.102514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.067603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.091190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.103320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_045_lessee_admin_cannot_change_lessee [0.110708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.092143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_member [0.083085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_owner [0.095800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.061465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.235021s] ... 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-01360164-aabf-4040-8bc5-5d641d2f58d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01360164-aabf-4040-8bc5-5d641d2f58d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bce32759-a55d-4808-8ac7-1bff378d1c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bce32759-a55d-4808-8ac7-1bff378d1c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ca2bb94-85d2-42db-9828-fd93dee085b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1ca2bb94-85d2-42db-9828-fd93dee085b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-3d55dafe-bf9d-4bde-8bc1-dcf01e61fec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-3d55dafe-bf9d-4bde-8bc1-dcf01e61fec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7553a544-a168-44b5-85e8-c1f8ef82473a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-7553a544-a168-44b5-85e8-c1f8ef82473a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46be7ead-ccc9-4542-96a5-3d37d6b6b042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-46be7ead-ccc9-4542-96a5-3d37d6b6b042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c207b3c-b197-4a2d-b45c-8175a07d89a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-8c207b3c-b197-4a2d-b45c-8175a07d89a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3621c0d6-63d7-455a-9cbd-c3836409ef4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-3621c0d6-63d7-455a-9cbd-c3836409ef4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.077163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_cannot_change_owner [0.080667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_member [0.092716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_traits_get_admin [0.093108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_137_ports_get_member [0.066947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_lessee_member_can_set_protected [0.084319s] ... 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-9477777b-d869-4d5d-881c-ffd5ce602b5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "created_at": "2023-04-19T16:15:30.963524+00:00", "updated_at": "2023-04-19T16:15:30.971225+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "rel": "self"}, {"href": "http://localhost/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "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-9477777b-d869-4d5d-881c-ffd5ce602b5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "created_at": "2023-04-19T16:15:30.963524+00:00", "updated_at": "2023-04-19T16:15:30.971225+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "rel": "self"}, {"href": "http://localhost/allocations/36f96d5c-5222-44ea-9f8d-bcf5ca79fd05", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/d91dc5c0-ecda-4927-9e33-d15dccbce2ec DEBUG util.py:445: PATCH: /v1/allocations/d91dc5c0-ecda-4927-9e33-d15dccbce2ec [{'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-6aee91fb-1ac6-4f4c-b102-6c511d93b7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d91dc5c0-ecda-4927-9e33-d15dccbce2ec 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-6aee91fb-1ac6-4f4c-b102-6c511d93b7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d91dc5c0-ecda-4927-9e33-d15dccbce2ec could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/5f04337c-d739-4755-94cb-2b98af5fbbcf DEBUG util.py:445: DELETE: /v1/allocations/5f04337c-d739-4755-94cb-2b98af5fbbcf DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c200ade-ba65-45e8-a8d8-ec8ea5e6c707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5f04337c-d739-4755-94cb-2b98af5fbbcf 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-4c200ade-ba65-45e8-a8d8-ec8ea5e6c707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5f04337c-d739-4755-94cb-2b98af5fbbcf 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-43d3602b-a3ae-4bb8-ad81-81ed81e1dc87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-43d3602b-a3ae-4bb8-ad81-81ed81e1dc87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 patch /v1/deploy_templates/0bd98ed3-a9ad-43d8-aa09-0f552231f09c DEBUG util.py:445: PATCH: /v1/deploy_templates/0bd98ed3-a9ad-43d8-aa09-0f552231f09c [{'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-bbd9a206-b754-4e65-ac5b-ffb4914e32b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbd9a206-b754-4e65-ac5b-ffb4914e32b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6bbf66f8-2e95-4fa5-87d6-ca5acba4ad1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6bbf66f8-2e95-4fa5-87d6-ca5acba4ad1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-75f6e2f0-6cc7-4351-874b-a0e8e870c7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:31.474700+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.070149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_084_nodes_traits_get_observer [0.096551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_141_ports_post_observer [0.100054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_cannot_patch_driver_info [0.075748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.084929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_member [0.086127s] ... 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-71b2ccd6-0762-4528-968d-3cb2f3d6f464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-71b2ccd6-0762-4528-968d-3cb2f3d6f464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ee76719-fea8-43bf-83ea-9549a2b23b43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.119046+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-6ee76719-fea8-43bf-83ea-9549a2b23b43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.119046+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-0eb64506-d6e2-41d4-b11e-bfa476fa7a81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.351366+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-0eb64506-d6e2-41d4-b11e-bfa476fa7a81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.351366+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-d3364084-c984-4eee-af52-3405f9bf005f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3364084-c984-4eee-af52-3405f9bf005f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0e9a08d9-8303-41bf-9d3d-39c85490d0ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0e9a08d9-8303-41bf-9d3d-39c85490d0ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f515eb2b-5fd8-493b-b0eb-b8dcc34a77c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:31.587776+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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_144_ports_detail_get_observer [0.061291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_300_node_history_get_admin [0.085828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_061_owner_manager_can_patch_node_instance_info [0.116546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_151_ports_port_id_delete_admin [0.067944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.077411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_301_node_history_get_member [0.069779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_153_ports_port_id_delete_observer [0.065159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.093073s] ... 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-e5e3d2fe-96da-4891-ad58-03d517067b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcdd314c-4022-4069-a3a5-a079e71aa219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcdd314c-4022-4069-a3a5-a079e71aa219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f243816d-d308-42db-aa32-81c07890099a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f243816d-d308-42db-aa32-81c07890099a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/owner', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcf002b6-87ab-47c6-8dbe-307da6c910e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fcf002b6-87ab-47c6-8dbe-307da6c910e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c91804bc-b96f-4677-9f1a-68103f86d098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c91804bc-b96f-4677-9f1a-68103f86d098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-dcd5d542-18c1-4f0a-b394-82c580cb1006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcd5d542-18c1-4f0a-b394-82c580cb1006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-c074417e-64db-429d-9933-4f4e08807d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c074417e-64db-429d-9933-4f4e08807d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-65f7ebe7-47ae-4650-9003-787791af6834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f7ebe7-47ae-4650-9003-787791af6834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae0f0793-e369-4a07-94f3-18f8166b1846 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_lessee_manager_can_patch_node_instance_info [0.088960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_nodes_ports_get_admin [0.075700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_302_node_history_get_observer [0.082974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_071_owner_manager_cannot_delete_nodes [0.122462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.094533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_158_nodes_ports_detail_get_member [0.082596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.073324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_lessee_manager_cannot_delete_nodes [0.115562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_169_volume_connectors_get_admin [0.068390s] ... 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-db244672-4c4b-4366-8817-bc588e322220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-db244672-4c4b-4366-8817-bc588e322220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dd2fa36f-370a-42d0-93d8-e0146753909c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dd2fa36f-370a-42d0-93d8-e0146753909c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"traits": ["trait1"]} 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-395b6922-3469-462a-8271-f39537170339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-395b6922-3469-462a-8271-f39537170339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6617ab9f-f5e4-4018-adbb-cbfc776032bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-6617ab9f-f5e4-4018-adbb-cbfc776032bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-4b4b3f14-03d5-4054-b1b1-6628c8845809 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b4b3f14-03d5-4054-b1b1-6628c8845809 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e11576db-ac8b-43f5-9a5c-bb883c1f4024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-e11576db-ac8b-43f5-9a5c-bb883c1f4024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c857dd12-a9a3-4c5b-88fa-49e09167f736 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c857dd12-a9a3-4c5b-88fa-49e09167f736 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0beecd46-3382-4865-84a4-1a75964d6f94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.993283+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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_detail_get_admin [0.153101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_member [0.063427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_admin_can_validate_node [0.111137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_173_volume_connectors_post_member [0.076188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.074057s] ... 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-f515eb2b-5fd8-493b-b0eb-b8dcc34a77c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:31.587776+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 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-b1ff8351-09b6-415e-b1bb-5ece3260cee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1ff8351-09b6-415e-b1bb-5ece3260cee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f1ed3f9b-053c-446b-9094-a65b2a7e0267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f1ed3f9b-053c-446b-9094-a65b2a7e0267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d3150c2-9d4b-476c-a0b7-2d1a21116b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3d3150c2-9d4b-476c-a0b7-2d1a21116b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4c0333e-7fd1-49a7-b106-b88ff994d68a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-a4c0333e-7fd1-49a7-b106-b88ff994d68a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2a57e53-2d6b-45b2-b2ef-0703718090ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a2a57e53-2d6b-45b2-b2ef-0703718090ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02657fe9-546b-4663-8909-39fc59c4065b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02657fe9-546b-4663-8909-39fc59c4065b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c50b3cae-0c8d-4471-bf86-2e20b20c05d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c50b3cae-0c8d-4471-bf86-2e20b20c05d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.082052s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.082404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.087369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_304_node_history_get_entry_member [0.490611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_143_ports_detail_get_member [0.080811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.084598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_port_id_get_admin [0.089938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_184_volume_targets_get_admin [0.080922s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_owner_manager_can_validate_node [0.378475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_third_party_admin_can_post_nodes [0.103665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_member [0.067308s] ... 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-0beecd46-3382-4865-84a4-1a75964d6f94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:31.993283+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f982ae2b-4f19-47fd-8a76-cbb962310b7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f982ae2b-4f19-47fd-8a76-cbb962310b7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a149a093-8a2c-47f3-85d0-29267eb732be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:32.152525+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-a149a093-8a2c-47f3-85d0-29267eb732be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:32.152525+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a40f151-19c1-47ed-881f-590290778712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0a40f151-19c1-47ed-881f-590290778712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-cdb44234-dc18-418f-853f-904af7da5170 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cdb44234-dc18-418f-853f-904af7da5170 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1ee9041-1542-40d1-bd42-bd9d8100c200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.403314+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-b1ee9041-1542-40d1-bd42-bd9d8100c200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.403314+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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_147_ports_port_id_get_observer [0.065152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_admin_can_validate_node [0.067838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_152_ports_port_id_delete_member [0.080045s] ... 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-75f6e2f0-6cc7-4351-874b-a0e8e870c7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:31.474700+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-fac33b63-5f52-4b00-b38e-515b6f6b4f58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:31.546865+00:00", "updated_at": "2023-04-19T16:15:31.585124+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-fac33b63-5f52-4b00-b38e-515b6f6b4f58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:31.546865+00:00", "updated_at": "2023-04-19T16:15:31.585124+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 get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1964e7c9-84f1-4be1-8794-0759b0c599e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "5bc7bf7a-4811-4b2d-90c5-cae6073d477b", "created_at": "2023-04-19T16:15:31.645622+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5bc7bf7a-4811-4b2d-90c5-cae6073d477b", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1964e7c9-84f1-4be1-8794-0759b0c599e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "5bc7bf7a-4811-4b2d-90c5-cae6073d477b", "created_at": "2023-04-19T16:15:31.645622+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5bc7bf7a-4811-4b2d-90c5-cae6073d477b", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85a9643b-d4f9-45cf-9c51-69196048ad1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-85a9643b-d4f9-45cf-9c51-69196048ad1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00bee8a5-069b-4144-921a-ba7d6711f796 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "17331e72-a168-4bd0-b324-7024d63e668f", "created_at": "2023-04-19T16:15:31.800024+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/17331e72-a168-4bd0-b324-7024d63e668f", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00bee8a5-069b-4144-921a-ba7d6711f796 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "17331e72-a168-4bd0-b324-7024d63e668f", "created_at": "2023-04-19T16:15:31.800024+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/17331e72-a168-4bd0-b324-7024d63e668f", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b7e965f3-1269-4bde-be17-b1ff2e643ecf DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b7e965f3-1269-4bde-be17-b1ff2e643ecf {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53c4ffcb-6298-4784-8e73-a135fab4bb2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-53c4ffcb-6298-4784-8e73-a135fab4bb2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f92571-eaae-4479-8754-aede7d91db5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f92571-eaae-4479-8754-aede7d91db5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_011_owner_member_cannot_post_nodes [0.128943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_086_owner_member_can_set_maintenance [0.072118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_observer [0.112505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.114542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_026_third_party_admin_cant_get_node [0.070661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_087_lessee_member_cannot_set_maintenance [0.070065s] ... ok 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-166eb611-f650-431e-b89f-fe28365e62cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.182458+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-166eb611-f650-431e-b89f-fe28365e62cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.182458+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/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-043e73b1-9aec-473a-9543-10ef0fe4661f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.260414+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-043e73b1-9aec-473a-9543-10ef0fe4661f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.260414+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-710ba0f1-4b08-4829-a0ed-644b81e25248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-710ba0f1-4b08-4829-a0ed-644b81e25248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-18736807-c456-4be7-abce-4d4ed6a0713b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-18736807-c456-4be7-abce-4d4ed6a0713b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebf7a648-bc20-4f88-8cfd-f79ad0f21d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ebf7a648-bc20-4f88-8cfd-f79ad0f21d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d099727-0bd4-4dc6-85f3-4d6440f1f5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2d099727-0bd4-4dc6-85f3-4d6440f1f5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_post_admin [0.074560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_161_portgroups_ports_get_member [0.075613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_owner_reader_can_get_restricted_fields [0.087973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.069609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_088_third_party_admin_cannot_set_maintenance [0.087377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_191_volume_volume_target_id_get_member [0.069032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.085920s] ... 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-ae0f0793-e369-4a07-94f3-18f8166b1846 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-edb0e248-a05f-4ebe-b767-c7ff4b7260a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edb0e248-a05f-4ebe-b767-c7ff4b7260a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8916c6f-c2e3-4b0c-8bfb-27254fdc6eb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8916c6f-c2e3-4b0c-8bfb-27254fdc6eb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-4d1fb0b8-dd44-4cdf-bd93-64f8297780f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d1fb0b8-dd44-4cdf-bd93-64f8297780f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a071b5f7-4bd3-4ddc-b6d7-7e80df596a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a071b5f7-4bd3-4ddc-b6d7-7e80df596a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75fb6920-21f2-4126-b979-fd542bdcd1ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75fb6920-21f2-4126-b979-fd542bdcd1ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f04a5d86-413e-4915-ab34-897691849674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f04a5d86-413e-4915-ab34-897691849674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-977536e7-0c16-4262-a238-41a01d5edfc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-977536e7-0c16-4262-a238-41a01d5edfc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-73b9fded-794a-4f18-9dc9-13df3fb89f6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73b9fded-794a-4f18-9dc9-13df3fb89f6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_097_owner_manager_can_set_boot_device [0.085122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_167_volume_get_member [0.063170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_lessee_manager_cannot_set_boot_device [0.077838s] ... ok 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-2554338a-e2b6-49bc-b349-d557e53ee4fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2554338a-e2b6-49bc-b349-d557e53ee4fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-35f42219-5571-4475-9680-dfc3c1673a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-35f42219-5571-4475-9680-dfc3c1673a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca8c197f-f37f-4802-942f-e689f7a355d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:32.740519+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: last_error DEBUG util.py:445: meow DEBUG util.py:445: reservation DEBUG util.py:445: lolcats DEBUG util.py:445: driver_internal_info DEBUG util.py:445: {'private_state': 'secret value'} DEBUG util.py:445: driver_info DEBUG util.py:445: {'foo': 'bar', 'fake_password': '******'} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca8c197f-f37f-4802-942f-e689f7a355d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:32.740519+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-48749337-525d-4875-b90e-da8dacd4bd01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:32.821750+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:32.833646+00:00", "updated_at": "2023-04-19T16:15:32.842483+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "88c5938c-8ef8-4a76-9ef2-01e9cade6a5d", "last_error": "meow", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "88c5938c-8ef8-4a76-9ef2-01e9cade6a5d", "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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_detail [0.094341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_031_third_party_admin_cannot_get_detail [0.075216s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.131865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_admin_cannot_get_boot_device [0.069294s] ... 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-69515bc0-f212-4f71-bd6a-d81c6e2e8f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.471940+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-69515bc0-f212-4f71-bd6a-d81c6e2e8f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.471940+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 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-a9a1637c-5ab0-4199-ad83-865e1013aa65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a9a1637c-5ab0-4199-ad83-865e1013aa65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20fb4b45-0837-4f68-a521-6dcf5d552e16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.635817+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-20fb4b45-0837-4f68-a521-6dcf5d552e16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.635817+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efdbb218-c8e7-4111-bd9c-52b72cd36f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-efdbb218-c8e7-4111-bd9c-52b72cd36f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-938697d7-87fc-4c75-8b97-793f5f009c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-938697d7-87fc-4c75-8b97-793f5f009c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7c9f5fd0-6216-4885-979d-76d281fa5b6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7c9f5fd0-6216-4885-979d-76d281fa5b6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_174_volume_connectors_post_observer [0.085350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_reader_cannot_patch_node_extra [0.095860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.080846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.073716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_reader_cannot_get_boot_device [0.065561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.077360s] ... 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/volume/targets/058adad6-d640-4419-9012-b154363de000 DEBUG util.py:445: Openstack-Request-Id: req-05bbdc93-a25a-4ab1-b2b9-349599f9e861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "058adad6-d640-4419-9012-b154363de000", "created_at": "2023-04-19T16:15:32.713211+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/058adad6-d640-4419-9012-b154363de000", "rel": "self"}, {"href": "http://localhost/volume/targets/058adad6-d640-4419-9012-b154363de000", "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/058adad6-d640-4419-9012-b154363de000 DEBUG util.py:445: Openstack-Request-Id: req-05bbdc93-a25a-4ab1-b2b9-349599f9e861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "058adad6-d640-4419-9012-b154363de000", "created_at": "2023-04-19T16:15:32.713211+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/058adad6-d640-4419-9012-b154363de000", "rel": "self"}, {"href": "http://localhost/volume/targets/058adad6-d640-4419-9012-b154363de000", "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-83b537b4-eb08-44aa-a9e2-09182e8170f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.755480+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-83b537b4-eb08-44aa-a9e2-09182e8170f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:32.755480+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b67140d2-cc18-4ee2-b475-f4b34ddf3e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b67140d2-cc18-4ee2-b475-f4b34ddf3e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18fe478b-e853-44d6-b222-13f1c5c27c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-18fe478b-e853-44d6-b222-13f1c5c27c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-afbce23a-220c-49ae-924c-e1edd9e430ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-afbce23a-220c-49ae-924c-e1edd9e430ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03ac1732-f424-4bc0-8b85-8bb2662155af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_nodes_volume_get_admin [0.066688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_member [0.066724s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_111_owner_admin_can_get_supported_boot_devices [0.099842s] ... 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-48749337-525d-4875-b90e-da8dacd4bd01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:32.821750+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:32.833646+00:00", "updated_at": "2023-04-19T16:15:32.842483+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "88c5938c-8ef8-4a76-9ef2-01e9cade6a5d", "last_error": "meow", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "88c5938c-8ef8-4a76-9ef2-01e9cade6a5d", "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-674482a0-700d-48d7-aa8c-cf1a93c5ec67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-674482a0-700d-48d7-aa8c-cf1a93c5ec67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": []} 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-d5dc97cb-97d6-4262-a365-d1c0e2e9eb56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d5dc97cb-97d6-4262-a365-d1c0e2e9eb56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/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-adef46bb-30e4-4ca6-b7bf-e47a1cd3d94c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_041_owner_admin_can_change_drivers [0.096820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.070497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_member_can_patch_all_the_things [0.095862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_212_drivers_driver_name_get_member [0.083629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_126_owner_manager_can_put_power_state_change [0.099967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.072194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_213_drivers_driver_name_get_observer [0.063112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_044_owner_member_can_change_lessee [0.127372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_134_owner_admin_can_put_boot_mode_state_change [0.085696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.076097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.063177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_lessee_manager_can_put_boot_mode_state_change [0.070407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_046_lessee_manager_cannot_change_lessee [0.074450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.060400s] ... 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-73196329-5a62-4e14-a0d6-3eb5c2c2406e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73196329-5a62-4e14-a0d6-3eb5c2c2406e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a92070d4-3df0-4b63-b499-25ef26058500 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a92070d4-3df0-4b63-b499-25ef26058500 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-31852e2b-bc4e-4f7d-bfe9-99521cabc4de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:33.136466+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-31852e2b-bc4e-4f7d-bfe9-99521cabc4de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:33.136466+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74baf443-b538-455d-a98d-70ac073cabbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-74baf443-b538-455d-a98d-70ac073cabbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bda0c716-ca02-41a3-9724-5ef70e22f6d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bda0c716-ca02-41a3-9724-5ef70e22f6d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-608343de-e080-4e0a-bcc0-dafcd1e97ee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-608343de-e080-4e0a-bcc0-dafcd1e97ee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce15c903-2ffd-4dea-b399-4a914149729c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.074546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.079268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.073419s] ... ok 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-37237fc1-7fdf-4fce-bb19-c8e61b551f9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37237fc1-7fdf-4fce-bb19-c8e61b551f9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-bdb43755-1a77-495d-b7af-4d4a17410f6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bdb43755-1a77-495d-b7af-4d4a17410f6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81733280-7920-4774-a2f7-64f0ea3504d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-81733280-7920-4774-a2f7-64f0ea3504d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8ea05f91-064d-4c47-be1b-19ff562ba962 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8ea05f91-064d-4c47-be1b-19ff562ba962 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4784fb2e-92bf-47bd-bdff-07a35a642df8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4784fb2e-92bf-47bd-bdff-07a35a642df8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-419dd99d-c64a-438f-a3b6-e8adddec255a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-419dd99d-c64a-438f-a3b6-e8adddec255a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f7ff870-84f7-4fc0-bb22-05b9c954f477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f7ff870-84f7-4fc0-bb22-05b9c954f477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94b7e1d1-cfae-494b-ab61-ee5fd50fe19a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94b7e1d1-cfae-494b-ab61-ee5fd50fe19a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_140_owner_reader_cannot_put_boot_mode_state_change [0.093368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_member [0.064987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_owner_admin_can_change_lessee [0.174444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.086998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_reader_cannot_put_boot_mode_state_change [0.107645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_properties_get_admin [0.074776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_lessee_member_cannot_patch_instance_info [0.068610s] ... 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-03ac1732-f424-4bc0-8b85-8bb2662155af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f89eecd8-20e9-498d-93bc-d7073e6fc87b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f89eecd8-20e9-498d-93bc-d7073e6fc87b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3580d885-4e97-4ead-9bf5-b504262bef3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3580d885-4e97-4ead-9bf5-b504262bef3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2dc176c5-c1c2-4cb7-abd3-9f064647a8e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2dc176c5-c1c2-4cb7-abd3-9f064647a8e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-3b415ce6-2e4f-4c04-bb61-e944b1d29819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3b415ce6-2e4f-4c04-bb61-e944b1d29819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44435564-d9da-459a-bfdc-66fd129210ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44435564-d9da-459a-bfdc-66fd129210ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1f3bfd09-6326-4232-8bab-e296fcd56397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1f3bfd09-6326-4232-8bab-e296fcd56397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-79b291d3-e580-42a4-a1e4-5e4c4ae4bd8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-79b291d3-e580-42a4-a1e4-5e4c4ae4bd8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e9f76b6a-d2b9-4cab-b83c-67486d9ee732 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:33.677408+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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_nodes_bios_get_admin [0.068104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_observer [0.068305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_owner_reader_cannot_put_secure_boot_state_change [0.107248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_member_can_patch_node_instance_info [0.088648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_observer [0.080747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.076754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.068884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_lessee_manager_can_change_provision_state [0.102705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_064_lessee_admin_can_patch_node_instance_info [0.090798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.072299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.080773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.085687s] ... 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-adef46bb-30e4-4ca6-b7bf-e47a1cd3d94c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}, {'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}, {'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f729169-10f0-4403-a634-0a5c9361a664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f729169-10f0-4403-a634-0a5c9361a664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f380b44-0d0d-4a0a-919d-432a1f7b41c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f380b44-0d0d-4a0a-919d-432a1f7b41c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f1a1a05-e1d0-4be9-a338-4af62b2a27e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f1a1a05-e1d0-4be9-a338-4af62b2a27e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-743ad5fb-92a7-4be9-a4b2-edb08cd088cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-743ad5fb-92a7-4be9-a4b2-edb08cd088cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2fd4acf3-4a4e-4249-80b9-8d7738013cd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2fd4acf3-4a4e-4249-80b9-8d7738013cd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03dbded6-b547-42c6-857e-9e13479c7392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03dbded6-b547-42c6-857e-9e13479c7392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9375847-f406-4bc9-a017-73ff3a1e5337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9375847-f406-4bc9-a017-73ff3a1e5337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_observer [0.062268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_reader_can_patch_node_instance_info [0.066302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_166_owner_admin_can_get_console [0.138257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_068_third_party_admin_cannot_patch_node_instance_info [0.073006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_hostname_get_admin [0.070162s] ... 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-ce15c903-2ffd-4dea-b399-4a914149729c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e1a1b11-568d-45ad-b33b-e0d71024a2c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e1a1b11-568d-45ad-b33b-e0d71024a2c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3f51a1d-f1af-4203-ad81-9bfb8947ca7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f3f51a1d-f1af-4203-ad81-9bfb8947ca7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08ea7b82-947a-4153-a3a9-a4122c2c19b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-08ea7b82-947a-4153-a3a9-a4122c2c19b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8d3e6d0f-84ea-49d9-a32d-70f21c52b10d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8d3e6d0f-84ea-49d9-a32d-70f21c52b10d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2f8fadd-d468-40a7-af81-850a4c29021a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2f8fadd-d468-40a7-af81-850a4c29021a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a5c7e1a-c7e4-4db1-9534-dfb5ebc7f6d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3a5c7e1a-c7e4-4db1-9534-dfb5ebc7f6d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e5e28cc-85d7-4571-8ee4-cbad89536492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e5e28cc-85d7-4571-8ee4-cbad89536492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cb82cbdd-a50f-4108-b30f-8886029e0032 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.088624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_lessee_admin_cannot_delete_nodes [0.073711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_owner_manager_can_get_console [0.085716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_third_party_admin_cannot_delete_nodes [0.067517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.089002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_member [0.105235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_admin_cannot_get_console [0.088297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_lessee_manager_cannot_get_console [0.061758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_manager_can_set_maintenance [0.087025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_conductors_get_admin [0.067116s] ... 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-e9f76b6a-d2b9-4cab-b83c-67486d9ee732 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:33.677408+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1295814e-ea79-4e56-9d76-bc2269ae42ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:33.759132+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-1295814e-ea79-4e56-9d76-bc2269ae42ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:33.759132+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-e70d83eb-2347-403a-a6e7-21929d735e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-e70d83eb-2347-403a-a6e7-21929d735e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e7d2b59f-af78-4005-82cc-c1898f097b10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:33.903982+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7d2b59f-af78-4005-82cc-c1898f097b10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:33.903982+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d438d34f-381c-4f7e-a2ad-e4a52e667a65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d438d34f-381c-4f7e-a2ad-e4a52e667a65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-28428abd-e2a4-4603-99bd-bba937c3b28e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:34.040678+00:00", "updated_at": "2023-04-19T16:15:34.041487+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-28428abd-e2a4-4603-99bd-bba937c3b28e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:34.040678+00:00", "updated_at": "2023-04-19T16:15:34.041487+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-321661c8-2a0a-4940-9838-a221602837e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-321661c8-2a0a-4940-9838-a221602837e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.077029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_093_owner_member_can_unset_maintnenance [0.064260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_nodes_allocation_get_admin [0.075113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_094_lessee_member_cannot_unset_maintenance [0.069221s] ... 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-510a3ba9-51b2-4501-be88-36da84cfa0f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-510a3ba9-51b2-4501-be88-36da84cfa0f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d72c013-7827-44c4-8bc3-b86038b12d16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d72c013-7827-44c4-8bc3-b86038b12d16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f39b46-4ae0-4755-a291-7033893b49cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f39b46-4ae0-4755-a291-7033893b49cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-714d6e8a-f1bd-494d-b470-6f8b26cd6a00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-714d6e8a-f1bd-494d-b470-6f8b26cd6a00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fbe25c6c-c883-4527-8ff7-9a4e6d0f6f01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbe25c6c-c883-4527-8ff7-9a4e6d0f6f01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8eecb282-cd02-4d81-8ab8-e781b04be728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8eecb282-cd02-4d81-8ab8-e781b04be728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2b9a77e0-ba6e-4436-9efa-fa1d226c2b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2b9a77e0-ba6e-4436-9efa-fa1d226c2b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94a5d884-01d8-4536-8d13-937509449087 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-94a5d884-01d8-4536-8d13-937509449087 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_176_owner_manager_can_set_console [0.108394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_observer [0.089154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_266_nodes_allocation_delete_observer [0.070204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_098_lessee_admin_cannot_set_boot_device [0.069610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_member_cannot_get_vendor_passthru_methods [0.100960s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_246_allocations_post_admin [0.072404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_267_deploy_templates_post_admin [0.080851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_get_vendor_passthru_methods [0.071209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_248_allocations_post_observer [0.072610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_get_admin [0.065220s] ... 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-3ceda62c-846c-4632-85d1-0d932cc8ce91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3ceda62c-846c-4632-85d1-0d932cc8ce91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb89e058-c676-4c93-be05-2c772334e8c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cb89e058-c676-4c93-be05-2c772334e8c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-b962d9e3-3dd4-4844-8cc3-9389f7355dde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b962d9e3-3dd4-4844-8cc3-9389f7355dde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-b6ef3ba5-1cc5-4da7-a502-5d16eb17ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b6ef3ba5-1cc5-4da7-a502-5d16eb17ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e36f7a5-9aca-4215-a2bd-7c77e299dc59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e36f7a5-9aca-4215-a2bd-7c77e299dc59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f670cf57-67e4-4d56-a933-b3d53e434cac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f670cf57-67e4-4d56-a933-b3d53e434cac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0123ba5-52ac-43a1-b1a6-21928a0fa913 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0123ba5-52ac-43a1-b1a6-21928a0fa913 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-491fe950-2af5-4673-97eb-8cd6569c39cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-491fe950-2af5-4673-97eb-8cd6569c39cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_104_owner_manager_can_get_boot_device [0.077916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_107_lessee_member_cannot_get_boot_device [0.073692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.086392s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/b951c2f0-c97f-440a-95db-507a58d18a59 DEBUG util.py:445: DELETE: /v1/allocations/b951c2f0-c97f-440a-95db-507a58d18a59 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7559a9af-0b1f-4c4a-a449-055dc45b012a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7559a9af-0b1f-4c4a-a449-055dc45b012a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3135f936-0f13-4a57-be66-916cb0564b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7224b346-ed1e-4e8b-ae00-e2edc430d1be", "created_at": "2023-04-19T16:15:34.275427+00:00", "updated_at": "2023-04-19T16:15:34.281765+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7224b346-ed1e-4e8b-ae00-e2edc430d1be", "rel": "self"}, {"href": "http://localhost/allocations/7224b346-ed1e-4e8b-ae00-e2edc430d1be", "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-3135f936-0f13-4a57-be66-916cb0564b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7224b346-ed1e-4e8b-ae00-e2edc430d1be", "created_at": "2023-04-19T16:15:34.275427+00:00", "updated_at": "2023-04-19T16:15:34.281765+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7224b346-ed1e-4e8b-ae00-e2edc430d1be", "rel": "self"}, {"href": "http://localhost/allocations/7224b346-ed1e-4e8b-ae00-e2edc430d1be", "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-f701946a-4670-421a-b8d3-6f13f5b2012e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f701946a-4670-421a-b8d3-6f13f5b2012e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/96005983-d2aa-4421-a716-a06767069876 DEBUG util.py:445: Openstack-Request-Id: req-9079e621-bed6-4444-8bcb-58b9cab637d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "96005983-d2aa-4421-a716-a06767069876", "created_at": "2023-04-19T16:15:34.474511+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/96005983-d2aa-4421-a716-a06767069876", "rel": "self"}, {"href": "http://localhost/deploy_templates/96005983-d2aa-4421-a716-a06767069876", "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/96005983-d2aa-4421-a716-a06767069876 DEBUG util.py:445: Openstack-Request-Id: req-9079e621-bed6-4444-8bcb-58b9cab637d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "96005983-d2aa-4421-a716-a06767069876", "created_at": "2023-04-19T16:15:34.474511+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/96005983-d2aa-4421-a716-a06767069876", "rel": "self"}, {"href": "http://localhost/deploy_templates/96005983-d2aa-4421-a716-a06767069876", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} 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-a083593a-3d0d-4500-9b55-44f60183c6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b8d4eef4-00d6-439c-b05b-ab996b270f21", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b8d4eef4-00d6-439c-b05b-ab996b270f21", "rel": "self"}, {"href": "http://localhost/deploy_templates/b8d4eef4-00d6-439c-b05b-ab996b270f21", "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-a083593a-3d0d-4500-9b55-44f60183c6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b8d4eef4-00d6-439c-b05b-ab996b270f21", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b8d4eef4-00d6-439c-b05b-ab996b270f21", "rel": "self"}, {"href": "http://localhost/deploy_templates/b8d4eef4-00d6-439c-b05b-ab996b270f21", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769 DEBUG util.py:445: GET: /v1/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c190a01b-2e86-4b48-9588-eeead0cffdc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "f019d55c-c4ea-4b4d-91f0-2b65724c3769", "created_at": "2023-04-19T16:15:34.586717+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769", "rel": "self"}, {"href": "http://localhost/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.067461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_admin_cannot_get_vendor_passthru [0.140416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_108_owner_reader_cannot_get_boot_device [0.067906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_member [0.080849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_owner_member_cannot_get_vendor_passthru [0.063257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_third_party_admin_cannot_get_boot_device [0.069618s] ... 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-cb82cbdd-a50f-4108-b30f-8886029e0032 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ceab5102-05d9-41e4-a1f0-67b3af218628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ceab5102-05d9-41e4-a1f0-67b3af218628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors 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-f1dc2b72-7e96-4546-a0fb-bb9d2509b58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f1dc2b72-7e96-4546-a0fb-bb9d2509b58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-812875e9-e46a-4366-b64f-bbc366f7faae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:34.341163+00:00", "updated_at": "2023-04-19T16:15:34.344776+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-812875e9-e46a-4366-b64f-bbc366f7faae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:34.341163+00:00", "updated_at": "2023-04-19T16:15:34.344776+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-e19eaaf9-52a8-47bd-93c0-3062405a79b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e19eaaf9-52a8-47bd-93c0-3062405a79b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbbf633f-25e1-4843-9a18-eef509331a34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbbf633f-25e1-4843-9a18-eef509331a34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 patch /v1/allocations/e9c9a266-26e6-4293-9c0b-fb27ca877ad0 DEBUG util.py:445: PATCH: /v1/allocations/e9c9a266-26e6-4293-9c0b-fb27ca877ad0 [{'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-5a9e6337-b44e-4b37-954f-ef80301d9e00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "created_at": "2023-04-19T16:15:34.559578+00:00", "updated_at": "2023-04-19T16:15:34.610065+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/e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "rel": "self"}, {"href": "http://localhost/allocations/e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "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-5a9e6337-b44e-4b37-954f-ef80301d9e00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "created_at": "2023-04-19T16:15:34.559578+00:00", "updated_at": "2023-04-19T16:15:34.610065+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/e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "rel": "self"}, {"href": "http://localhost/allocations/e9c9a266-26e6-4293-9c0b-fb27ca877ad0", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/3f1e3613-0654-4069-a063-07239f102a85 DEBUG util.py:445: PATCH: /v1/allocations/3f1e3613-0654-4069-a063-07239f102a85 [{'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-b103bb7d-cd36-4a7f-b494-e527ed575208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.080060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_member [0.091828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_owner_manager_cannot_post_vendor_passthru [0.071623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_observer [0.106402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_113_owner_member_cannot_get_supported_boot_devices [0.075713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_201_lessee_admin_cannot_post_vendor_passthru [0.072733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_288_chassis_detail_get_admin [0.072330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_delete_admin [0.084064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_114_lessee_admin_cannot_get_supported_boot_devices [0.064258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_member [0.065576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_admin_cannot_delete_vendor_passthru [0.074925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.073109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_116_third_party_admin_cannot_get_supported_boot_devices [0.075879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.061065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.070922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_admin_can_send_non_masking_interrupt [0.067171s] ... 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-b78a1b43-d148-40fe-89c1-4075d0b1359b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b78a1b43-d148-40fe-89c1-4075d0b1359b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e7bd7a24-bc4f-43a3-a98c-79bf6f8d1eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e7bd7a24-bc4f-43a3-a98c-79bf6f8d1eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3e36c5c4-233c-4fca-bb65-76f3ebfee8c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3e36c5c4-233c-4fca-bb65-76f3ebfee8c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-601da951-504d-447a-a1bc-99c39fe693c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-601da951-504d-447a-a1bc-99c39fe693c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-457ee510-686c-423a-aec0-90e2203bbb9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-457ee510-686c-423a-aec0-90e2203bbb9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-45658665-8085-40c1-803c-2140abbf636c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-45658665-8085-40c1-803c-2140abbf636c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2a27698d-9560-46c3-a083-4c97f8bd1b65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2a27698d-9560-46c3-a083-4c97f8bd1b65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c299b88e-6c83-4dc4-ab0d-02d9a2bc58f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c299b88e-6c83-4dc4-ab0d-02d9a2bc58f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_219_lessee_member_cannot_delete_vendor_passthru [0.118187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.062007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.063039s] ... 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-856f1369-df08-40a5-b657-cccf042a8777 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-856f1369-df08-40a5-b657-cccf042a8777 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fa821d5f-8941-4a76-8b53-cc4630e89b80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fa821d5f-8941-4a76-8b53-cc4630e89b80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d1015f9-170f-415e-90c0-3cfeb31c0e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0d1015f9-170f-415e-90c0-3cfeb31c0e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b96f0f52-0b34-4f42-9376-1201936935f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-b96f0f52-0b34-4f42-9376-1201936935f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aee53760-4de5-4999-b38b-adec037d9538 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aee53760-4de5-4999-b38b-adec037d9538 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8796b2c8-e910-4f20-aa58-73bdc7134397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8796b2c8-e910-4f20-aa58-73bdc7134397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14ddec5b-e4d5-4a82-9dae-a8c7fb49c8fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-14ddec5b-e4d5-4a82-9dae-a8c7fb49c8fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4623c735-a658-4810-ac4f-796e8e6f829a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4623c735-a658-4810-ac4f-796e8e6f829a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_admin_cannot_send_non_masking_interrupt [0.074635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_reader_get_states [0.061659s] ... 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-c190a01b-2e86-4b48-9588-eeead0cffdc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "f019d55c-c4ea-4b4d-91f0-2b65724c3769", "created_at": "2023-04-19T16:15:34.586717+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769", "rel": "self"}, {"href": "http://localhost/deploy_templates/f019d55c-c4ea-4b4d-91f0-2b65724c3769", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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-cde91a06-fe05-4dcb-bc3c-263f38a9a1d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cde91a06-fe05-4dcb-bc3c-263f38a9a1d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-59872f6f-1075-435a-a79d-6d87d88f6df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-59872f6f-1075-435a-a79d-6d87d88f6df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44b68acc-960e-4a1a-b05f-9ec535d1d522 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:34.845313+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-44b68acc-960e-4a1a-b05f-9ec535d1d522 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:34.845313+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-a2d37061-28c8-4677-bee6-0a502d8ff046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:34.911162+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-a2d37061-28c8-4677-bee6-0a502d8ff046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:34.911162+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ad30828-4a64-42e6-b315-e336ed8eb1cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7ad30828-4a64-42e6-b315-e336ed8eb1cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-770df9d8-39af-4b15-b40c-fbb98f60a821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-770df9d8-39af-4b15-b40c-fbb98f60a821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_observer [0.085919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_224_owner_admin_can_put_traits [0.154469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_130_lessee_member_can_put_power_state_change [0.064342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.108183s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_226_owner_member_cannot_put_traits [0.079335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_reader_cannot_put_power_state_change [0.076157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_get_admin [0.252378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_005_lessee_admin_cannot_post_nodes [0.083184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_admin_can_put_boot_mode_state_change [0.068585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_lessee_manager_cannot_put_traits [0.075202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_286_chassis_get_member [0.102178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_owner_manager_can_delete_traits [0.070335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_member_can_put_secure_boot_state_change [0.077501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_owner_reader_cannot_post_reader [0.096278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_observer [0.075217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_234_lessee_admin_cannot_delete_traits [0.069363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_lessee_member_can_put_secure_boot_state_change [0.067325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_manager_can_get_node [0.067611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_236_lessee_member_cannot_delete_traits [0.064898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_lessee_admin_can_change_provision_state [0.065762s] ... 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-b103bb7d-cd36-4a7f-b494-e527ed575208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e546f6ac-8212-4046-9d98-96650be1c866 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e546f6ac-8212-4046-9d98-96650be1c866 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bd532a0-958c-4f7e-a93d-15565d224882 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bd532a0-958c-4f7e-a93d-15565d224882 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e7fe624-526d-4354-81ea-1915577a8e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1e7fe624-526d-4354-81ea-1915577a8e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/a52e3ae4-4f2d-48d8-8c59-119c2fc974d8 DEBUG util.py:445: GET: /v1/deploy_templates/a52e3ae4-4f2d-48d8-8c59-119c2fc974d8 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57323489-df9c-4e5b-8d4d-40a82a9d64a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-57323489-df9c-4e5b-8d4d-40a82a9d64a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/94ddb951-f9b0-4669-b71a-24d4571b1e51 DEBUG util.py:445: DELETE: /v1/deploy_templates/94ddb951-f9b0-4669-b71a-24d4571b1e51 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5534441e-38b2-4c3b-92e7-e81ef327b7c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5534441e-38b2-4c3b-92e7-e81ef327b7c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab85cbd7-dc15-4699-9d99-0843fa946412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab85cbd7-dc15-4699-9d99-0843fa946412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6d4c2fe1-ebb8-4195-933e-8904e916c671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6d4c2fe1-ebb8-4195-933e-8904e916c671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aa5f50a9-03c5-4f54-a8ad-ca190cb391de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aa5f50a9-03c5-4f54-a8ad-ca190cb391de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_member [0.056650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_observer [0.076078s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cc8fb40-e548-4238-9644-8d5a5c014e32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8", "created_at": "2023-04-19T16:15:35.136761+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cc8fb40-e548-4238-9644-8d5a5c014e32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8", "created_at": "2023-04-19T16:15:35.136761+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c47f1d9e-9d7f-4652-ae62-1b9f9fd506c8", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3267a1cf-6599-4111-93ca-e35be06fba03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3267a1cf-6599-4111-93ca-e35be06fba03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-964bd32b-d104-48fa-9e23-0d7867f0941d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-964bd32b-d104-48fa-9e23-0d7867f0941d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-350265f4-6ac6-4992-bb97-7fe1abea0283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-350265f4-6ac6-4992-bb97-7fe1abea0283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a38e70ae-80b4-4880-abf3-28d89ab62576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "05a5e3b0-d7b6-4f49-ba07-ea57b65932dd", "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-a38e70ae-80b4-4880-abf3-28d89ab62576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "05a5e3b0-d7b6-4f49-ba07-ea57b65932dd", "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-ed617660-dcf3-48dd-9381-e320f54bb9a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "d751ce98-cf34-432e-ba6b-4557429683be", "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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_member_can_get_node [0.101576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_lessee_admin_can_get_node [0.068442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_manager_can_put_custom_traits [0.124081s] ... 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-a6f18573-8323-4e2a-b5d7-2c10eba3919f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a6f18573-8323-4e2a-b5d7-2c10eba3919f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8937f1c3-feb7-4afc-8cd9-c140affc2d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8937f1c3-feb7-4afc-8cd9-c140affc2d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-c33dba0d-51f5-4b2c-ace0-cd4e4a2fa074 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c33dba0d-51f5-4b2c-ace0-cd4e4a2fa074 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2704a0e-d0ea-472b-8162-0182f9bd64fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d2704a0e-d0ea-472b-8162-0182f9bd64fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e60c1b96-5488-4b39-863f-cbb0772847e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e60c1b96-5488-4b39-863f-cbb0772847e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5a9bc97-4be0-498f-9335-df902150df32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5a9bc97-4be0-498f-9335-df902150df32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70ac296c-0d02-4830-9b72-ec9c3cf58089 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70ac296c-0d02-4830-9b72-ec9c3cf58089 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97ea55ed-f7dc-4c03-932b-371092f8badd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97ea55ed-f7dc-4c03-932b-371092f8badd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_lessee_member_cannot_change_provision_state [0.067505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.086996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_160_owner_manager_can_set_raid_config [0.081683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_163_owner_member_can_set_raid_config [0.081588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.112047s] ... 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-ed617660-dcf3-48dd-9381-e320f54bb9a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "d751ce98-cf34-432e-ba6b-4557429683be", "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-60059c6b-9be1-4d95-93b9-730076b8d97b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "8f244ea0-1e86-4f47-9e9e-d37c3ae0d64b", "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-60059c6b-9be1-4d95-93b9-730076b8d97b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "8f244ea0-1e86-4f47-9e9e-d37c3ae0d64b", "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-a16c0fac-cd3b-4cb5-9579-29e3e23921d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:35.735163+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_022_owner_reader_can_get_their_node [0.088481s] ... 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-893e5ca3-154f-4ea0-ac89-102c0e11d0b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-893e5ca3-154f-4ea0-ac89-102c0e11d0b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aade0c87-755d-462d-bf32-d3373ce59d66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aade0c87-755d-462d-bf32-d3373ce59d66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits 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-bf3455a2-4234-400b-9890-c8158d864643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bf3455a2-4234-400b-9890-c8158d864643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cbbc4417-d931-4eac-9b64-1786a5e2f6ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cbbc4417-d931-4eac-9b64-1786a5e2f6ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e9d518d-d650-4fc0-b141-8a554edc7aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e9d518d-d650-4fc0-b141-8a554edc7aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-d3d6df75-7552-4ea0-8a4d-c1562766390f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3d6df75-7552-4ea0-8a4d-c1562766390f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4df6525e-bca6-4fc6-9421-b049bf3f17b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4df6525e-bca6-4fc6-9421-b049bf3f17b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1f28762-aae8-4fb8-bc76-39f70e4ff49b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1f28762-aae8-4fb8-bc76-39f70e4ff49b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_lessee_admin_cannot_put_custom_traits [0.067368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_member_cannot_put_custom_traits [0.112464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_lessee_member_cannot_get_console [0.076771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_lessee_admin_can_post_nodes [0.082192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_lessee_reader_get_vifs [0.069650s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_owner_admin_can_set_console [0.073595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_007_lessee_manager_cannot_post_nodes [0.099707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_manager_can_post_vifs [0.072470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_owner_reader_cannot_get_other_node [0.262448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_lessee_admin_cannot_set_console [0.088633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_009_third_party_admin_cannot_post_nodes [0.080322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_025_lessee_reader_cant_get_other_node [0.061809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_owner_reader_cannot_post_vifs [0.090275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_179_owner_member_can_set_console [0.073072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_member_can_get_node [0.062921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_member_cannot_delete_vifs [0.061264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_owner_admin_cannot_get_vendor_passthru_methods [0.069421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_032_owner_admin_can_patch_node_extra [0.097312s] ... 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-5b928122-b6e2-4105-8d07-b91eacaea22c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5b928122-b6e2-4105-8d07-b91eacaea22c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9469805c-e106-46a8-9976-a6139d7c177b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:35.598885+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-9469805c-e106-46a8-9976-a6139d7c177b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:35.598885+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-18ff8269-89db-4b2c-bec9-0114c7e41a60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-18ff8269-89db-4b2c-bec9-0114c7e41a60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2873b5a9-6c71-40eb-b643-e453feba6e1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2873b5a9-6c71-40eb-b643-e453feba6e1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-85807aa1-c1cc-48ac-9b75-eb6d19f65521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-85807aa1-c1cc-48ac-9b75-eb6d19f65521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-a916da81-c27e-4f08-8b59-4e6652ec2cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a916da81-c27e-4f08-8b59-4e6652ec2cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-4b38dde6-d55a-4a53-9943-69192fceedcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4b38dde6-d55a-4a53-9943-69192fceedcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-758cefbc-6cea-422f-8a51-7e2e26d6ae00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "70d473aa-fbfe-44f8-bb02-562053d0c593", "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-758cefbc-6cea-422f-8a51-7e2e26d6ae00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "70d473aa-fbfe-44f8-bb02-562053d0c593", "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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_third_party_admin_cannot_get_node [0.076092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_can_list_portgroups [0.069822s] ... 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-bbbf40cb-0d89-435d-86b8-f764fef01586 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bbbf40cb-0d89-435d-86b8-f764fef01586 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28739ace-69ba-415c-a62c-2215bf4c7ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28739ace-69ba-415c-a62c-2215bf4c7ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-822f588a-97ec-4193-8283-e0f616a5ffd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-822f588a-97ec-4193-8283-e0f616a5ffd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-209cce50-950b-40fe-a072-18dc44a73971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-209cce50-950b-40fe-a072-18dc44a73971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-36461d28-affa-480d-af0a-9ee8c2218e43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36461d28-affa-480d-af0a-9ee8c2218e43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50222ae9-f17b-4fb9-afea-6a57182cc9a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-50222ae9-f17b-4fb9-afea-6a57182cc9a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f972449d-613d-4e5b-85ed-0346effe3481 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f972449d-613d-4e5b-85ed-0346effe3481 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-021600de-1b40-4d1f-abf1-6cc86ee9afea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-021600de-1b40-4d1f-abf1-6cc86ee9afea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_get_vendor_passthru_methods [0.058648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_028_lessee_reader_cannot_get_restricted_fields [0.083759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_lessee_member_cannot_get_vendor_passthru_methods [0.078982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_member_can_patch_node_extra [0.134775s] ... 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-d61f6294-af8e-4b51-906b-b3b382d11f60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d61f6294-af8e-4b51-906b-b3b382d11f60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3c6adf7-edd1-4e91-9eef-235af00853dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c3c6adf7-edd1-4e91-9eef-235af00853dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e72c14d8-92cb-442f-a9eb-1361771b00a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e72c14d8-92cb-442f-a9eb-1361771b00a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-40430420-2169-42bf-a408-e0040e3824bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40430420-2169-42bf-a408-e0040e3824bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6b15c615-603b-433a-9ccf-edec88e403a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6b15c615-603b-433a-9ccf-edec88e403a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-92be23b1-dc12-406d-b9e6-e5060da28c10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-92be23b1-dc12-406d-b9e6-e5060da28c10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6338b2bb-de64-4175-869e-7fb60ea820a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6338b2bb-de64-4175-869e-7fb60ea820a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0f8527a-1c19-4e71-b563-7c3c15559d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_280_owner_member_cannot_add_portgroup [0.098729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_owner_manager_cannot_get_vendor_passthru [0.086810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_third_party_admin_cannot_patch_node_extra [0.102620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_lessee_member_cannot_add_portgroup [0.106913s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-755150a0-fdb3-41b5-ba4a-a7214aae1558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-755150a0-fdb3-41b5-ba4a-a7214aae1558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-414a14ee-8f85-4343-b542-c8705abcea7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:36.267296+00:00", "updated_at": "2023-04-19T16:15:36.278123+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "5eade60b-8a3d-4f14-9ddd-3c770602e45c", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "5eade60b-8a3d-4f14-9ddd-3c770602e45c", "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-414a14ee-8f85-4343-b542-c8705abcea7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-04-19T16:15:36.267296+00:00", "updated_at": "2023-04-19T16:15:36.278123+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "5eade60b-8a3d-4f14-9ddd-3c770602e45c", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "5eade60b-8a3d-4f14-9ddd-3c770602e45c", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_036_lessee_admin_can_patch_node_extra [0.087527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_196_lessee_reader_cannot_get_vendor_passthru [0.084350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_lessee_manager_can_patch_node_extra [0.110425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_287_owner_member_cannot_modify_portgroup [0.064162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_owner_admin_cannot_post_vendor_passthru [0.070335s] ... 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-a16c0fac-cd3b-4cb5-9579-29e3e23921d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-04-19T16:15:35.735163+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9acf084-35ac-4ea3-ae6b-a3803ac72fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-d9acf084-35ac-4ea3-ae6b-a3803ac72fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-093a7655-b201-42b8-a2bc-f3e0552ddce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-093a7655-b201-42b8-a2bc-f3e0552ddce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c8b3eef-5e8b-4b0e-a826-64aff2c3b5b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c8b3eef-5e8b-4b0e-a826-64aff2c3b5b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba1b39d-6a9b-4d70-b130-a3c030200865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba1b39d-6a9b-4d70-b130-a3c030200865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3f1d48b-345c-42b4-93c4-9c71d9af4ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f3f1d48b-345c-42b4-93c4-9c71d9af4ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_042_owner_manager_can_change_drivers [0.135064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_lessee_manager_cannot_modify_portgroup [0.105951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_owner_manager_can_change_lessee [0.112701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_reader_cannot_post_vendor_passthru [0.085101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_owner [0.098439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_owner_manager_can_delete_portgroup [0.066910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_properties [0.091845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_lessee_manager_cannot_post_vendor_passthru [0.084926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_cannot_change_owner [0.078043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_294_owner_member_cannot_delete_portgroup [0.075008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_retired [0.061864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_lessee_reader_cannot_post_vendor_passthru [0.072083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_owner_reader_can_read_port [0.064936s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_network_data [0.084829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_owner_admin_can_delete_nodes [0.077693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_name [0.065752s] ... 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-f47bc77c-f8c6-4292-bf12-087be3231f5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f47bc77c-f8c6-4292-bf12-087be3231f5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c4127ba-3da9-4292-8052-90523bd20617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c4127ba-3da9-4292-8052-90523bd20617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-18aebfbf-29f5-4827-8d4f-8c0e0ebbf729 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-18aebfbf-29f5-4827-8d4f-8c0e0ebbf729 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ae2a2a1-65a4-445f-b0ec-a5a6fdd01064 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ae2a2a1-65a4-445f-b0ec-a5a6fdd01064 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1d2282aa-2b24-4c2a-aaa1-51dd76825447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1d2282aa-2b24-4c2a-aaa1-51dd76825447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1ef81602-bee2-41e1-a179-b5557f67ce75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1ef81602-bee2-41e1-a179-b5557f67ce75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2523d002-8427-4e59-9494-fd2c5838683d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2523d002-8427-4e59-9494-fd2c5838683d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8fc94924-462d-4971-9cc9-5f265a96ae6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8fc94924-462d-4971-9cc9-5f265a96ae6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_lessee_admin_cannot_put_vendor_passthru [0.063898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_member_can_validate_node [0.062595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_210_lessee_manager_cannot_put_vendor_passthru [0.072276s] ... 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-e0f8527a-1c19-4e71-b563-7c3c15559d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-018a9b74-3d12-4de0-b036-7a2fb977f5da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-018a9b74-3d12-4de0-b036-7a2fb977f5da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8550e004-2bdf-4174-825c-7512ef256b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8550e004-2bdf-4174-825c-7512ef256b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ed51a80-c88c-46ee-89f4-cbd740211424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9ed51a80-c88c-46ee-89f4-cbd740211424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1034406b-b240-4385-93e6-7fc341c3e853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1034406b-b240-4385-93e6-7fc341c3e853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-b378b2ad-2a0c-4bec-b3f5-dfad29837eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b378b2ad-2a0c-4bec-b3f5-dfad29837eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-6d548151-e9a9-44fc-9f03-9af5b019183c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2023-04-19T16:15:36.796177+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-6d548151-e9a9-44fc-9f03-9af5b019183c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2023-04-19T16:15:36.796177+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-33f87a68-0220-4aea-a292-f7559244de2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_owner_admin_cannot_add_ports_to_other_nodes [0.095173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_080_lessee_member_cannot_validate_node [0.068951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_owner_member_cannot_add_port [0.080145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_lessee_member_cannot_put_vendor_passthru [0.081198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_060_owner_admin_can_patch_node_instance_info [0.130381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_third_party_admin_cannot_modify_port [0.066948s] ... 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-200014a1-fb8f-45e6-b3c3-dd0503735a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-200014a1-fb8f-45e6-b3c3-dd0503735a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-32636f98-a079-4c63-9bf7-13782fc4aaa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32636f98-a079-4c63-9bf7-13782fc4aaa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ef6d463-6e79-409f-b76f-9d7abe23f1ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ef6d463-6e79-409f-b76f-9d7abe23f1ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c5f20cc8-7e22-4b88-94f6-c61113d26da1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c5f20cc8-7e22-4b88-94f6-c61113d26da1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '/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-589cf78f-f7c0-4d17-a3c5-4da2daf9e49c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-589cf78f-f7c0-4d17-a3c5-4da2daf9e49c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63e05338-dd80-4654-8313-7918ef6a1196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63e05338-dd80-4654-8313-7918ef6a1196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0ba4b27b-ba04-4922-b093-e197efb1fb40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba4b27b-ba04-4922-b093-e197efb1fb40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-432350ad-8b29-4b80-811a-0ad4cb2bd6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-432350ad-8b29-4b80-811a-0ad4cb2bd6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_081_third_party_admin_cannot_validate_node [0.069913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_member_cannot_delete_port [0.059781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_084_lessee_admin_can_set_maintenance [0.075376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_063_owner_reader_can_patch_node_instance_info [0.107587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_member_cannot_patch_node_instance_info [0.061526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_330_third_party_admin_cannot_delete_port [0.077541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_owner_admin_can_unset_maintenance [0.078464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_090_owner_manager_can_unset_maintenance [0.072193s] ... 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-6b897d93-7601-442e-a359-9fa7fdbe61f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b897d93-7601-442e-a359-9fa7fdbe61f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-25a4c68b-09df-4c41-8254-f2a481350b99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-25a4c68b-09df-4c41-8254-f2a481350b99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-89325f01-fb77-4885-92ca-f34399974727 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-89325f01-fb77-4885-92ca-f34399974727 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-f3e3819f-ce80-4130-9703-333b87040ac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f3e3819f-ce80-4130-9703-333b87040ac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99cf2856-29db-4ded-99a5-4ada540e4572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-99cf2856-29db-4ded-99a5-4ada540e4572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-411e09fc-7e30-4716-a2b2-f4e90d61fa8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-411e09fc-7e30-4716-a2b2-f4e90d61fa8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0b95e08-64c5-4583-b809-d3f074df55b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0b95e08-64c5-4583-b809-d3f074df55b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-87f7bd7a-89a9-476e-86ef-210799bf87a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-87f7bd7a-89a9-476e-86ef-210799bf87a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_069_owner_admin_cannot_delete_nodes [0.068239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_admin_cannot_delete_vendor_passthru [0.277967s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_lessee_reader_can_get_node_port [0.135537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_092_lessee_manager_can_unset_maintenance [0.072567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_lessee_manager_can_validate_node [0.093911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_lessee_admin_cannot_put_traits [0.065998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_lessee_reader_can_get_ports_by_portgroup [0.066470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_082_owner_admin_can_set_maintenance [0.060742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_096_owner_admin_can_set_boot_device [0.070032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_owner_member_cannot_delete_traits [0.077350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_342_lessee_admin_cannot_post_volume_connector [0.067891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_085_lessee_manager_can_set_maintenance [0.077731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_member_cannot_set_boot_device [0.085646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_owner_admin_can_put_custom_traits [0.069238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_third_party_admin_cannot_post_volume_connector [0.063210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_091_lessee_admin_can_unset_maintenance [0.067450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_101_lessee_member_cannot_set_boot_device [0.066647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_owner_reader_get_vifs [0.062493s] ... 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-33f87a68-0220-4aea-a292-f7559244de2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf9de317-eab9-40b8-9e3f-f95326d90c8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cf9de317-eab9-40b8-9e3f-f95326d90c8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-709f949f-1623-4fb2-8b30-72188b4acd8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-709f949f-1623-4fb2-8b30-72188b4acd8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c3aff9c-c3e1-4dbf-bbf1-0d5583d42bb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c3aff9c-c3e1-4dbf-bbf1-0d5583d42bb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fc37d307-3e07-4793-8f63-1b4837b120cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fc37d307-3e07-4793-8f63-1b4837b120cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c671240-a0b4-446c-b4de-1fce90b886e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3c671240-a0b4-446c-b4de-1fce90b886e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ce20d8c7-c052-4f59-947f-99effdb74c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ce20d8c7-c052-4f59-947f-99effdb74c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7410b72c-51c3-41ac-a25b-576496280826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7410b72c-51c3-41ac-a25b-576496280826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-d129ccfc-c0e3-42ed-ab58-fa6fd751ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d129ccfc-c0e3-42ed-ab58-fa6fd751ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_349_owner_admin_can_patch_volume_connectors [0.062104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_095_third_party_admin_cannot_unset_maintenance [0.103696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_354_third_party_admin_cannot_patch_volume_connectors [0.091249s] ... ok 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-87e8e667-9607-4a08-8a02-82f3e7d28286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-87e8e667-9607-4a08-8a02-82f3e7d28286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-396ecef3-0387-4293-9bf6-8161261d9581 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-396ecef3-0387-4293-9bf6-8161261d9581 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ed9d1d20-bfff-4c59-863d-6feb2f232815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ed9d1d20-bfff-4c59-863d-6feb2f232815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-218b8401-4bfe-4d30-b93c-21ee61e0ef96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-218b8401-4bfe-4d30-b93c-21ee61e0ef96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be75c6ba-32e5-48a5-af16-211cd2bf5dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-be75c6ba-32e5-48a5-af16-211cd2bf5dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b6ede33-93be-4154-853d-73b9e8af594a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7b6ede33-93be-4154-853d-73b9e8af594a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d400e4b-f379-4223-ace5-5cb9cf83be7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d400e4b-f379-4223-ace5-5cb9cf83be7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f39c3d-88b3-438f-893d-63e9f71b173c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f39c3d-88b3-438f-893d-63e9f71b173c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_247_third_party_admin_cannot_get_vifs [0.077509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_248_owner_admin_can_post_vifs [0.062632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_owner_member_cannot_get_boot_device [0.070086s] ... 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-afa6f300-b7e8-427e-a3eb-315c08427abf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-afa6f300-b7e8-427e-a3eb-315c08427abf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4e6a1ad-a259-4f63-899e-3c8e4d4eccb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4e6a1ad-a259-4f63-899e-3c8e4d4eccb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-800dd739-aec4-4e73-8fcd-30537fd039bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-800dd739-aec4-4e73-8fcd-30537fd039bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f05f19f4-b0e8-4179-a05a-54ce08f07d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f05f19f4-b0e8-4179-a05a-54ce08f07d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1e8189f-237f-4243-9f59-b197ccf3f154 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1e8189f-237f-4243-9f59-b197ccf3f154 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0e7e2d69-eecb-4feb-9a93-233172be9c7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e7e2d69-eecb-4feb-9a93-233172be9c7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-838e06b8-8aeb-4a04-8f96-1e4d771e6253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-838e06b8-8aeb-4a04-8f96-1e4d771e6253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-e8f82712-b976-40bd-a1f7-864d9aeceefd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e8f82712-b976-40bd-a1f7-864d9aeceefd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_102_third_party_admin_cannot_set_boot_device [0.090557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_103_owner_admin_can_get_boot_device [0.063898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_lessee_admin_can_post_vifs [0.081326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_third_party_admin_cannot_get_target_list [0.088259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_112_owner_manager_can_get_supported_boot_devices [0.096623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_lessee_manager_cannot_get_supported_boot_devices [0.112981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_252_owner_member_can_post_vifs [0.067697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_lessee_reader_can_get_volume_target [0.083134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_118_owner_manager_can_send_non_masking_interrupt [0.065651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_lessee_member_cannot_post_vifs [0.077723s] ... 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-63f8bf6e-33b1-486b-8733-40656daf637c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-63f8bf6e-33b1-486b-8733-40656daf637c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-36ee94d5-746b-4cd8-9e85-4dfc7288ab45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36ee94d5-746b-4cd8-9e85-4dfc7288ab45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd7e309f-3cb2-454f-9f3f-fecde424217c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd7e309f-3cb2-454f-9f3f-fecde424217c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25fe8569-8f6b-41a6-bdc6-f4095d1671aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25fe8569-8f6b-41a6-bdc6-f4095d1671aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ffdddb4-d554-4f0f-b4ef-c0f5a218f841 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ffdddb4-d554-4f0f-b4ef-c0f5a218f841 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9c2e131a-761b-4367-890e-f4163a244b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-9c2e131a-761b-4367-890e-f4163a244b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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 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-ebab946e-d29d-4faa-80b7-8bf5fd5dd730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ebab946e-d29d-4faa-80b7-8bf5fd5dd730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a5eb9c0-1667-436f-99e3-ca8d5be6c910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a5eb9c0-1667-436f-99e3-ca8d5be6c910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_121_third_party_admin_cannot_send_non_masking_interrupt [0.068616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_owner_admin_create_volume_target [0.109467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_lessee_manager_cannot_send_non_masking_interrupt [0.108313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_owner_admin_can_put_power_state_change [0.082977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_256_third_party_admin_cannot_post_vifs [0.078969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_370_third_party_admin_cannot_create_volume_target [0.066929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_123_lessee_reader_get_states [0.077008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_264_owner_readers_can_get_indicators [0.060062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_127_lessee_admin_can_put_power_state_change [0.088211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_265_lesse_readers_can_get_indicators [0.060244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_third_part_admin_cannot_get_states [0.077584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_lessee_manager_can_put_power_state_change [0.072259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_reader_can_get_indicator_status ... 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.TestRBACProjectScoped.test_project_scoped_129_owner_member_can_put_power_state_change [0.071264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_member_can_put_boot_mode_state_change [0.066181s] ... 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-144a8fae-1d05-4008-b92a-a20516a3007b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-144a8fae-1d05-4008-b92a-a20516a3007b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bae506d1-7f1d-4b53-9251-b7fc0bf0b079 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bae506d1-7f1d-4b53-9251-b7fc0bf0b079 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc6ba364-7923-44c2-9d5e-bcdbd48f47b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc6ba364-7923-44c2-9d5e-bcdbd48f47b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9adfb43e-dd0c-4fa4-ad54-88d410210284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9adfb43e-dd0c-4fa4-ad54-88d410210284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7eb4c5c2-d1a5-40b2-90c6-d1d98e5bbcfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7eb4c5c2-d1a5-40b2-90c6-d1d98e5bbcfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e12000e-85ce-4785-af36-d46621158971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9e12000e-85ce-4785-af36-d46621158971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-1db92968-17ac-4a63-be0b-30f0c6873cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1db92968-17ac-4a63-be0b-30f0c6873cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c577389a-6b27-49bd-a9ed-c00abe2e7987 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c577389a-6b27-49bd-a9ed-c00abe2e7987 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_third_party_admin_cannot_read_portgroup [0.063685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_302_owner_reader_can_list_ports [0.072910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_owner_admin_can_put_secure_boot_state_change [0.085048s] ... 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-26803404-7434-483c-8895-043270410758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-26803404-7434-483c-8895-043270410758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9b093f4-2d4f-4948-a906-f1d1ae226b3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9b093f4-2d4f-4948-a906-f1d1ae226b3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09277593-02fc-4846-9fbe-e327d529f16c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09277593-02fc-4846-9fbe-e327d529f16c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-16470fa5-dcd9-4634-be88-19c6aae82f06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16470fa5-dcd9-4634-be88-19c6aae82f06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-30f2d00b-5f6f-493b-aeca-6041a2b5b66a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-30f2d00b-5f6f-493b-aeca-6041a2b5b66a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-69e56874-345b-4c5b-bea8-1772b2ef48ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e56874-345b-4c5b-bea8-1772b2ef48ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-320ea301-1671-4d33-b324-0f20aae7b0c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-320ea301-1671-4d33-b324-0f20aae7b0c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e171a1b7-daa8-4415-acc3-b4036a6fbda1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e171a1b7-daa8-4415-acc3-b4036a6fbda1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_owner_reader_cannot_put_power_state_change [0.072076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_third_party_admin_cannot_put_power_state_change [0.089708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_owner_manager_cannot_add_ports_to_other_nodes [0.067702s] ... 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b09b1168-81cb-4ce3-853d-aecbb83e09b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b09b1168-81cb-4ce3-853d-aecbb83e09b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0df13a8-08e4-4af1-a022-a8219a2ab5f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0df13a8-08e4-4af1-a022-a8219a2ab5f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9f1a507-8b7e-4078-bf9f-c816ff637c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9f1a507-8b7e-4078-bf9f-c816ff637c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-117b8a46-52e8-4315-84db-585582c03b37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:37.866935+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-117b8a46-52e8-4315-84db-585582c03b37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:37.866935+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/290a7671-620e-4ef5-92df-058b8e2b9d7a DEBUG util.py:445: Openstack-Request-Id: req-4343f91f-9cb7-47d6-8bbb-4d1f06e24922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "290a7671-620e-4ef5-92df-058b8e2b9d7a", "created_at": "2023-04-19T16:15:37.998868+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/290a7671-620e-4ef5-92df-058b8e2b9d7a", "rel": "self"}, {"href": "http://localhost/volume/targets/290a7671-620e-4ef5-92df-058b8e2b9d7a", "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/290a7671-620e-4ef5-92df-058b8e2b9d7a DEBUG util.py:445: Openstack-Request-Id: req-4343f91f-9cb7-47d6-8bbb-4d1f06e24922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "290a7671-620e-4ef5-92df-058b8e2b9d7a", "created_at": "2023-04-19T16:15:37.998868+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/290a7671-620e-4ef5-92df-058b8e2b9d7a", "rel": "self"}, {"href": "http://localhost/volume/targets/290a7671-620e-4ef5-92df-058b8e2b9d7a", "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-5f670176-7387-4980-9d18-9e5d3c6b9bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5f670176-7387-4980-9d18-9e5d3c6b9bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-58ec8f81-1931-473e-a589-bab070e45d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_375_third_party_admin_cannot_patch_volume_target [0.280854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_owner_manager_can_delete_volume_target [0.080977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_144_owner_manager_can_put_secure_boot_state_change [0.148705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_manager_can_put_boot_mode_state_change [0.089854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_314_lessee_manager_cannot_add_port [0.079622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_381_lessee_member_cannot_delete_volume_target [0.068409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_admin_can_put_secure_boot_state_change [0.065857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_139_lessee_member_can_put_boot_mode_state_change [0.062642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_owner_member_cannot_modify_port [0.065877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_third_party_admin_cannot_get_node_volume_connectors [0.077976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_142_third_party_admin_cannot_put_boot_mode_state_change [0.076943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_owner_manager_can_delete_port [0.070202s] ... 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-bcc62499-b3e0-4514-8bad-b737f8de4124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-bcc62499-b3e0-4514-8bad-b737f8de4124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-1442eb8c-2f89-4c30-a850-af302851f4ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1442eb8c-2f89-4c30-a850-af302851f4ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a21ae4d1-094d-4f78-bfce-ef5dda4ed82f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a21ae4d1-094d-4f78-bfce-ef5dda4ed82f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6654b47e-fb64-4100-819b-b27368333775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6654b47e-fb64-4100-819b-b27368333775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fe63c8b-cd8a-43a7-b78e-8f952b442b14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fe63c8b-cd8a-43a7-b78e-8f952b442b14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dfb0035-f09e-46a3-a92f-eb8ebeb4fb30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dfb0035-f09e-46a3-a92f-eb8ebeb4fb30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71698b6c-1dcf-49f6-bee8-f9820374a3f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71698b6c-1dcf-49f6-bee8-f9820374a3f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8a03330-a059-4e65-a4ab-9bc85e3cd207 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8a03330-a059-4e65-a4ab-9bc85e3cd207 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_owner_member_can_change_provision_state [0.077885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_owner_member_cannot_delete_port [0.059235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_lessee_manager_can_put_secure_boot_state_change [0.070834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_third_party_admin_cannot_change_provision_state [0.080118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_lessee_reader_can_get_bios_settings [0.115172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_reader_cannot_put_secure_boot_state_change [0.073890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_owner_admin_can_set_raid_config [0.070031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_lessee_reader_cannot_get_conductors [0.091921s] ... 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-e36dc5c6-0a1e-4c9a-99e1-05c9afa8a520 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e36dc5c6-0a1e-4c9a-99e1-05c9afa8a520 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-f5aa0783-4c05-4b23-857f-6ca44af97694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5aa0783-4c05-4b23-857f-6ca44af97694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-d0d17706-44ad-4d54-ae68-8e935d591e34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d0d17706-44ad-4d54-ae68-8e935d591e34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0f19df2f-0631-45ac-b66a-44bb86fccc30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0f19df2f-0631-45ac-b66a-44bb86fccc30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-83965dab-ab7f-4a99-af06-6193c021eb9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-83965dab-ab7f-4a99-af06-6193c021eb9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a21e5109-a4e1-468a-b308-40c0940ef741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a21e5109-a4e1-468a-b308-40c0940ef741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cad139f0-6eec-450e-9ae6-298ead921c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cad139f0-6eec-450e-9ae6-298ead921c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_lessee_admin_cannot_delete_port [0.072110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_328_lessee_manager_cannot_delete_port [0.069965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_admin_cannot_set_raid_config [0.071260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_third_party_admin_cannot_put_secure_boot_state_change [0.072242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_401_owner_reader_can_get_allocations [0.079288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_333_third_party_admin_cannot_get_ports [0.069523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_lessee_manager_cannot_set_raid_config [0.072539s] ... 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-bc04478f-011a-425a-8bdc-c90ea322e578 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bc04478f-011a-425a-8bdc-c90ea322e578 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-a046c266-8263-4c05-abbf-7869f7537c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-a046c266-8263-4c05-abbf-7869f7537c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1444adfe-6e22-4384-93b4-cf300893fd86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1444adfe-6e22-4384-93b4-cf300893fd86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d70453ac-1bc7-4cc9-b079-6fbf2cde8428 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d70453ac-1bc7-4cc9-b079-6fbf2cde8428 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c73fc11d-da43-49de-ba85-4a3cc4f4e4a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-c73fc11d-da43-49de-ba85-4a3cc4f4e4a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea77fd0c-bd39-4b47-a910-e3d49d776dc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea77fd0c-bd39-4b47-a910-e3d49d776dc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8951dc59-b754-4634-bb08-1275c9528aa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8951dc59-b754-4634-bb08-1275c9528aa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac41476e-1a80-47a9-83d2-fb4c65e291e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-ac41476e-1a80-47a9-83d2-fb4c65e291e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_owner_admin_can_change_provision_state [0.075541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_334_owner_reader_can_get_ports_by_portgroup [0.094825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_manager_can_change_provision_state [0.074049s] ... 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-58ec8f81-1931-473e-a589-bab070e45d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f805300f-db2b-435e-be6d-5287ceeeb5f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f805300f-db2b-435e-be6d-5287ceeeb5f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44dd3327-bc1f-4805-97cf-db78959f541b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-44dd3327-bc1f-4805-97cf-db78959f541b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7196e52-0f30-4026-b7a9-0046a687ffa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b7196e52-0f30-4026-b7a9-0046a687ffa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-57816c06-8bc3-44e8-b5ef-7b2af70708ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-57816c06-8bc3-44e8-b5ef-7b2af70708ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0fbc6446-836f-4a2a-855b-fe01dc68d047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fbc6446-836f-4a2a-855b-fe01dc68d047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39805848-79a8-4446-ab99-c1e3bc04213c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "created_at": "2023-04-19T16:15:38.844116+00:00", "updated_at": "2023-04-19T16:15:38.845654+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "rel": "self"}, {"href": "http://localhost/allocations/bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "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-39805848-79a8-4446-ab99-c1e3bc04213c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "created_at": "2023-04-19T16:15:38.844116+00:00", "updated_at": "2023-04-19T16:15:38.845654+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "rel": "self"}, {"href": "http://localhost/allocations/bc93bcd0-fb83-48d8-adf5-43b8a7fee6de", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/c23bc6cf-76d6-4768-9db0-5f5acea3ac86 DEBUG util.py:445: GET: /v1/allocations/c23bc6cf-76d6-4768-9db0-5f5acea3ac86 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6076721-7b1a-44ca-ac85-7bcaa13cf9a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "created_at": "2023-04-19T16:15:38.901260+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/c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "rel": "self"}, {"href": "http://localhost/allocations/c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_403_owner_reader_can_get_their_allocation [0.069087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_405_owner_admin_can_delete_their_allocation [0.075462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_182_owner_manager_cannot_get_vendor_passthru_methods [0.140071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_lessee_member_cannot_set_raid_config [0.074559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_owner_manager_can_post_volume_connector [0.089089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_407_lessee_admin_can_delete_their_allocation [0.068331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_reader_cannot_get_vendor_passthru_methods [0.064137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_409_owner_member_can_delete_their_allocation [0.070731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_165_third_party_admin_cannot_set_raid_config [0.088151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_lessee_manager_cannot_post_volume_connector [0.091188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_reader_cannot_get_vendor_passthru_methods [0.064865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_410_lessee_member_can_delete_their_allocation [0.067591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_owner_member_can_get_console [0.094135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_owner_reader_can_get_volume_connector [0.092111s] ... 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-496812a1-0337-41eb-b320-19bf386bbb60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-496812a1-0337-41eb-b320-19bf386bbb60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40ec476a-5371-40b0-8617-9f49f3d6856e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-40ec476a-5371-40b0-8617-9f49f3d6856e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-95190227-70f0-4057-9f8e-814457d19cb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95190227-70f0-4057-9f8e-814457d19cb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4d338ae7-de51-4e29-a2aa-84576117a18e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4d338ae7-de51-4e29-a2aa-84576117a18e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8358d7f1-4cc5-45ab-b53c-ce7652d34bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8358d7f1-4cc5-45ab-b53c-ce7652d34bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-ff8ba128-6f00-4a52-bccb-5eda2cb449e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ff8ba128-6f00-4a52-bccb-5eda2cb449e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-28f25a93-d56c-4ded-a0d7-d64e785fedb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-28f25a93-d56c-4ded-a0d7-d64e785fedb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d963cb66-f375-4dfd-8178-9581c46e0e9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d963cb66-f375-4dfd-8178-9581c46e0e9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_reader_cannot_get_vendor_passthru [0.065049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_205_owner_admin_cannot_put_vendor_passthru [0.070290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_413_third_party_admin_can_get_allocations [0.101224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_owner_reader_cannot_get_console [0.079631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_owner_manager_cannot_put_vendor_passthru [0.073882s] ... 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-c1de1504-8225-48b1-a4ca-c3ae1c0d52cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c1de1504-8225-48b1-a4ca-c3ae1c0d52cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3cc158c2-49eb-43b9-a548-19e26c8a3667 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3cc158c2-49eb-43b9-a548-19e26c8a3667 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-67ab80e4-f212-4465-8150-8ca140c435cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-67ab80e4-f212-4465-8150-8ca140c435cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5af954f5-d36a-4864-8c78-8b77daaccf64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5af954f5-d36a-4864-8c78-8b77daaccf64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/755ef7d4-ddbb-4260-8ea6-62387dadfbda DEBUG util.py:445: Openstack-Request-Id: req-186054f8-0fae-4990-9bda-d867599e34a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "755ef7d4-ddbb-4260-8ea6-62387dadfbda", "created_at": "2023-04-19T16:15:39.076883+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/755ef7d4-ddbb-4260-8ea6-62387dadfbda", "rel": "self"}, {"href": "http://localhost/volume/connectors/755ef7d4-ddbb-4260-8ea6-62387dadfbda", "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/755ef7d4-ddbb-4260-8ea6-62387dadfbda DEBUG util.py:445: Openstack-Request-Id: req-186054f8-0fae-4990-9bda-d867599e34a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "755ef7d4-ddbb-4260-8ea6-62387dadfbda", "created_at": "2023-04-19T16:15:39.076883+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/755ef7d4-ddbb-4260-8ea6-62387dadfbda", "rel": "self"}, {"href": "http://localhost/volume/connectors/755ef7d4-ddbb-4260-8ea6-62387dadfbda", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-deb418fe-96a4-4a5d-88fd-e311dcda5117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-deb418fe-96a4-4a5d-88fd-e311dcda5117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2839ef9-5fcd-4091-8aaa-0ddda3a59b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:39.232859+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-c2839ef9-5fcd-4091-8aaa-0ddda3a59b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:39.232859+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_348_lessee_member_cannot_patch_volume_connectors [0.088040s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_third_party_admin_cannot_patch_an_allocation [0.093015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_173_lessee_reader_cannot_get_console [0.094570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_lessee_admin_cannot_patch_volume_connectors [0.082608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_owner_member_cannot_put_vendor_passthru [0.076421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_lessee_reader_can_read_node_allocation [0.078658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_third_party_admin_cannot_get_console [0.067828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_owner_member_can_patch_volume_connectors [0.064768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_208_owner_reader_cannot_put_vendor_passthru [0.067247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_lessee_admin_can_delete_volume_connectors [0.071600s] ... 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-c6076721-7b1a-44ca-ac85-7bcaa13cf9a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "created_at": "2023-04-19T16:15:38.901260+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/c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "rel": "self"}, {"href": "http://localhost/allocations/c23bc6cf-76d6-4768-9db0-5f5acea3ac86", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/3d32a8c3-a003-48b8-b8a9-e10e87e54486 DEBUG util.py:445: DELETE: /v1/allocations/3d32a8c3-a003-48b8-b8a9-e10e87e54486 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c372062a-6f86-418b-a260-6e72c31c12e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c372062a-6f86-418b-a260-6e72c31c12e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/690aac0d-5ee5-4bb7-a678-71c6bee09289 DEBUG util.py:445: DELETE: /v1/allocations/690aac0d-5ee5-4bb7-a678-71c6bee09289 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a28ab565-79bc-4bc1-ac08-4864d01f2efa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a28ab565-79bc-4bc1-ac08-4864d01f2efa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/946b2fa8-0845-4c52-9eb5-b1b42344bcf8 DEBUG util.py:445: DELETE: /v1/allocations/946b2fa8-0845-4c52-9eb5-b1b42344bcf8 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e68ae89f-7eaa-491e-a5ba-bfe680ae5748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e68ae89f-7eaa-491e-a5ba-bfe680ae5748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/98746abb-545b-4f4a-aec2-a306bf27dbc3 DEBUG util.py:445: DELETE: /v1/allocations/98746abb-545b-4f4a-aec2-a306bf27dbc3 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abb4efe3-fe1e-4519-83d5-674916dd8d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abb4efe3-fe1e-4519-83d5-674916dd8d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b03160a7-fe4b-4757-8641-b8941e69f5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b03160a7-fe4b-4757-8641-b8941e69f5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/e6d1311f-47f4-4d92-a865-9488da9f7a70 DEBUG util.py:445: PATCH: /v1/allocations/e6d1311f-47f4-4d92-a865-9488da9f7a70 [{'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-bd1afc86-c641-4fd0-ba99-03ab1a12e964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e6d1311f-47f4-4d92-a865-9488da9f7a70 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-bd1afc86-c641-4fd0-ba99-03ab1a12e964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e6d1311f-47f4-4d92-a865-9488da9f7a70 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-d3ed0f80-95ef-4010-a819-04c37ad8d4d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6962c79f-2a84-41f2-8e90-7ca631bd3435", "created_at": "2023-04-19T16:15:39.464780+00:00", "updated_at": "2023-04-19T16:15:39.466401+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6962c79f-2a84-41f2-8e90-7ca631bd3435", "rel": "self"}, {"href": "http://localhost/allocations/6962c79f-2a84-41f2-8e90-7ca631bd3435", "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-d3ed0f80-95ef-4010-a819-04c37ad8d4d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6962c79f-2a84-41f2-8e90-7ca631bd3435", "created_at": "2023-04-19T16:15:39.464780+00:00", "updated_at": "2023-04-19T16:15:39.466401+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6962c79f-2a84-41f2-8e90-7ca631bd3435", "rel": "self"}, {"href": "http://localhost/allocations/6962c79f-2a84-41f2-8e90-7ca631bd3435", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_424_third_party_admin_cannot_read_node_allocation [0.070543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_212_lessee_reader_cannot_put_vendor_passthru [0.104550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_426_owner_manager_can_delete_allocation [0.084093s] ... 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-27a6700f-1915-4718-9278-16baa7eaab2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27a6700f-1915-4718-9278-16baa7eaab2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47dee994-2dc7-47e2-ab03-e8f421135e93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47dee994-2dc7-47e2-ab03-e8f421135e93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a126880b-a914-4375-9e0a-bea4eb823a1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a126880b-a914-4375-9e0a-bea4eb823a1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d25ac543-e4d7-4106-ba72-c694d9b78647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d25ac543-e4d7-4106-ba72-c694d9b78647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41e03739-7852-44be-9f19-0f327f28caac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41e03739-7852-44be-9f19-0f327f28caac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d37665ed-bf38-42d1-85ea-78ac2f91e1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d37665ed-bf38-42d1-85ea-78ac2f91e1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d02579b-0380-42f5-92fc-e0539c7cbca6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4d02579b-0380-42f5-92fc-e0539c7cbca6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8fce07c2-aba8-4daf-b9ed-5abfbc3049a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8fce07c2-aba8-4daf-b9ed-5abfbc3049a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_178_lessee_manager_cannot_set_console [0.113369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_owner_reader_can_get_targets [0.085977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_180_lessee_member_cannot_set_console [0.060599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_owner_manager_cannot_delete_vendor_passthru [0.078321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_lessee_admin_cannot_get_vendor_passthru [0.066598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_lesse_reader_can_get_targets [0.095723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_427_lessee_admin_can_delete_allocation [0.114671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_215_owner_member_cannot_delete_vendor_passthru [0.073233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_lessee_manager_cannot_get_vendor_passthru [0.071530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_owner_reader_cannot_get_deploy_templates [0.099373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_lessee_member_cannot_get_vendor_passthru [0.067768s] ... 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-f108e04d-11a0-48c7-809d-24c96b8abff9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f108e04d-11a0-48c7-809d-24c96b8abff9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1c0e3ce4-5e0d-4c64-af00-93097d9553ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c0e3ce4-5e0d-4c64-af00-93097d9553ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c339228a-6955-41eb-b0df-e512ebd1c26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c339228a-6955-41eb-b0df-e512ebd1c26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b1fa54f8-724b-4aa2-bd03-3e09ab39a0f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1fa54f8-724b-4aa2-bd03-3e09ab39a0f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7fefc63b-6b42-4377-be1f-33c168a7005c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7fefc63b-6b42-4377-be1f-33c168a7005c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a5cee4f4-0742-4888-9439-874306dbbbc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a5cee4f4-0742-4888-9439-874306dbbbc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05305c03-e1e4-47b2-990d-91e9da69434b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_lessee_member_cannot_patch_volume_target [0.070082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_379_lessee_manager_can_delete_volume_target [0.075905s] ... ok 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-d21d6dc1-5999-43e2-a436-f5265ebd4f5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d21d6dc1-5999-43e2-a436-f5265ebd4f5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0f1cf308-670f-480b-a438-00f8df580adb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0f1cf308-670f-480b-a438-00f8df580adb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02ede2c4-3bc5-45f3-84b7-9412bf669490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-02ede2c4-3bc5-45f3-84b7-9412bf669490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab5e18ce-f316-41f3-89d1-32b296516b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab5e18ce-f316-41f3-89d1-32b296516b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6f88b891-1dd3-44de-80e6-8159ea4a8adb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6f88b891-1dd3-44de-80e6-8159ea4a8adb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ee35cc1c-25d5-4951-80a5-aeeec30fde02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ee35cc1c-25d5-4951-80a5-aeeec30fde02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fb5f1f23-fd8b-4f4f-8eee-e4371b932804 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fb5f1f23-fd8b-4f4f-8eee-e4371b932804 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-21a50bfc-0f40-4c05-bb6c-1cce0bbb66b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-21a50bfc-0f40-4c05-bb6c-1cce0bbb66b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_lessee_manager_cannot_delete_vendor_passthru [0.061308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_221_owner_reader_get_traits [0.072559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_431_lessee_reader_cannot_get_deploy_templates [0.106083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_380_owner_member_cannot_delete_volume_target [0.085296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_third_party_admin_cannot_get_traits [0.063464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_433_third_party_admin_cannot_post_deploy_template [0.078656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_manager_cannot_delete_traits [0.064999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_lessee_reader_can_get_node_volume_connectors [0.082933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_third_party_admin_cannot_delete_traits [0.069354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_owner_reader_cannot_get_drivers [0.060323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_node_history_get_entry_admin [0.087642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_owner_member_cannot_post_vendor_passthru [0.295576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_lessee_manager_cannot_put_custom_traits [0.063574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_reader_cannot_get_drivers [0.066063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_lessee_node_history_get_admin [0.082011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_third_party_admin_cannot_put_custom_traits [0.067972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_lessee_member_cannot_post_vendor_passthru [0.086914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_owner_reader_cannot_get_drivers_vendor_passthru [0.070165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_255_lessee_reader_cannot_post_vifs [0.061771s] ... ok 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-4e1f6486-c5c4-48be-884c-6c8687e50503 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e1f6486-c5c4-48be-884c-6c8687e50503 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-a30b503a-0e04-4cc6-bc10-e689a21156fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a30b503a-0e04-4cc6-bc10-e689a21156fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1dde56ca-edbe-49c9-80bf-f607def4b7f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dde56ca-edbe-49c9-80bf-f607def4b7f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4ac305e-77e1-4ab8-b7a9-8b1b692eea04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4ac305e-77e1-4ab8-b7a9-8b1b692eea04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b30cff0-34f0-4f0c-9edf-d815d9a3455a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b30cff0-34f0-4f0c-9edf-d815d9a3455a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/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-fb6973a9-4ab8-46da-8fbb-ea9887890c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb6973a9-4ab8-46da-8fbb-ea9887890c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/46a51249-4904-4a1b-a87c-8d09ad5f89e3 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/46a51249-4904-4a1b-a87c-8d09ad5f89e3 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fc9f49f-c445-4527-8ea6-003ffc7b4aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2fc9f49f-c445-4527-8ea6-003ffc7b4aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59e6c835-e2ae-423a-a704-3ba1330b2db3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-59e6c835-e2ae-423a-a704-3ba1330b2db3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_lessee_history_get_entry_member [0.062728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_216_owner_reader_cannot_delete_vendor_passthru [0.092893s] ... 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-05305c03-e1e4-47b2-990d-91e9da69434b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6fdd3ddd-6983-475e-8dbb-743442ebedbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fdd3ddd-6983-475e-8dbb-743442ebedbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7fe70861-965a-42f7-89b6-45e9322289d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7fe70861-965a-42f7-89b6-45e9322289d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54ff727f-f20c-423f-b0e3-6fb7497f5202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-54ff727f-f20c-423f-b0e3-6fb7497f5202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-3bd67173-d7fa-44a7-acdb-b30dec071a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bd67173-d7fa-44a7-acdb-b30dec071a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-892fd212-e011-4974-ac6d-0f14e593d0e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-892fd212-e011-4974-ac6d-0f14e593d0e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/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-c22ca71c-bc3c-49f0-b2a7-ff8a031ed152 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c22ca71c-bc3c-49f0-b2a7-ff8a031ed152 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f799ecc-a28b-4ac7-a892-cb96a2de6f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_lessee_reader_cannot_get_drivers_vendor_passthru [0.069948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.137520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_404_lessee_reader_can_get_their_allocation [0.078684s] ... 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-04a25e84-5d3a-4d1e-addf-0bedb9bcd134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04a25e84-5d3a-4d1e-addf-0bedb9bcd134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-46c0d5dd-f488-495f-8873-64fd4bb0deb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-46c0d5dd-f488-495f-8873-64fd4bb0deb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1a446194-1b44-4453-825b-f7dd59eb7d5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1a446194-1b44-4453-825b-f7dd59eb7d5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-50fbb52f-0935-478d-a719-afdd7d4101e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-50fbb52f-0935-478d-a719-afdd7d4101e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2a501c31-6bec-43e3-b8ee-6c29d9a7ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2a501c31-6bec-43e3-b8ee-6c29d9a7ecd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cdc3c991-8ba9-4131-95ab-43d6f7e23562 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cdc3c991-8ba9-4131-95ab-43d6f7e23562 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9cc8a5f-1706-478b-a802-90986aa0c4b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9cc8a5f-1706-478b-a802-90986aa0c4b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-377086d6-cd1c-4533-b999-1487fbcec35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-377086d6-cd1c-4533-b999-1487fbcec35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_261_owner_member_can_delete_vifs [0.068011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_263_third_party_admin_cannot_delete_vifs [0.088686s] ... 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-c0351417-1ff1-4a81-bfbf-f07e5dbbff65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0351417-1ff1-4a81-bfbf-f07e5dbbff65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-834a2d20-319c-4ef5-a83b-82735da86447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-834a2d20-319c-4ef5-a83b-82735da86447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?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-a78f71ba-cd98-4657-9a68-c322695eba34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a78f71ba-cd98-4657-9a68-c322695eba34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4ad86b6c-16f7-4746-a474-12797a55b7db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4ad86b6c-16f7-4746-a474-12797a55b7db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a510dd70-4480-402f-b039-1e21a0105ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a510dd70-4480-402f-b039-1e21a0105ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0a4c95e-ce2b-4e4d-a38d-fb5ec8b35bc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0a4c95e-ce2b-4e4d-a38d-fb5ec8b35bc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-74288c09-6abb-42b8-967b-0f43b08bca14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-74288c09-6abb-42b8-967b-0f43b08bca14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f9711f0-51cf-47f9-9663-39a997f88530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f9711f0-51cf-47f9-9663-39a997f88530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_lessee_reader_cannot_delete_vendor_passthru [0.090608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.080127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_411_owner_member_can_patch_allocation [0.100212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_lessee_reader_get_traits [0.083092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_268_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.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.056974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_412_lessee_member_can_patch_allocation [0.071696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_225_owner_manager_can_put_traits [0.080108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_reader_can_read_portgroup [0.068026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.061604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_415_third_party_admin_cannot_create_allocation_with_owner_node [0.076233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.064710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_lessee_member_cannot_put_traits [0.081133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_276_lessee_reader_can_read_portgroup [0.077788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_417_owner_admin_can_create_allocation_with_their_uuid [0.074536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.072929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_third_party_admin_cannot_put_traits [0.072596s] ... 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-c8094a2d-f4eb-4c93-98b5-04281c4073b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8094a2d-f4eb-4c93-98b5-04281c4073b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62fdf329-9c2f-4cb4-8a26-7815627f6b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-62fdf329-9c2f-4cb4-8a26-7815627f6b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-5f344c37-542c-4f23-b501-82f7632f7353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2023-04-19T16:15:40.582027+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-5f344c37-542c-4f23-b501-82f7632f7353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2023-04-19T16:15:40.582027+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-ccc3a273-7396-45f1-a95d-3d11ff3ea46c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:40.670831+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-ccc3a273-7396-45f1-a95d-3d11ff3ea46c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:40.670831+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781 DEBUG util.py:445: Openstack-Request-Id: req-8562d80d-da48-4e85-8b4b-4a621a0b70aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "created_at": "2023-04-19T16:15:40.755919+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/78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "rel": "self"}, {"href": "http://localhost/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781/ports", "rel": "self"}, {"href": "http://localhost/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_278_owner_admin_can_add_portgroup [0.078126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_admin_can_delete_traits [0.082221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_owner_manager_can_add_portgroup [0.069524s] ... ok 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-1f799ecc-a28b-4ac7-a892-cb96a2de6f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2 DEBUG util.py:445: GET: /v1/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78e64af3-81d2-4e7d-a2f9-bd2e135c5750 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ec19ee71-8067-4f93-8003-81b6fe71fef2", "created_at": "2023-04-19T16:15:40.387276+00:00", "updated_at": "2023-04-19T16:15:40.388684+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2", "rel": "self"}, {"href": "http://localhost/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2", "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-78e64af3-81d2-4e7d-a2f9-bd2e135c5750 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "ec19ee71-8067-4f93-8003-81b6fe71fef2", "created_at": "2023-04-19T16:15:40.387276+00:00", "updated_at": "2023-04-19T16:15:40.388684+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2", "rel": "self"}, {"href": "http://localhost/allocations/ec19ee71-8067-4f93-8003-81b6fe71fef2", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/cb0469d9-d4aa-4547-8015-87e5560d2675 DEBUG util.py:445: PATCH: /v1/allocations/cb0469d9-d4aa-4547-8015-87e5560d2675 [{'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-1db05be9-9fcc-4780-95d0-9684f7aa24ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "cb0469d9-d4aa-4547-8015-87e5560d2675", "created_at": "2023-04-19T16:15:40.465481+00:00", "updated_at": "2023-04-19T16:15:40.511109+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/cb0469d9-d4aa-4547-8015-87e5560d2675", "rel": "self"}, {"href": "http://localhost/allocations/cb0469d9-d4aa-4547-8015-87e5560d2675", "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-1db05be9-9fcc-4780-95d0-9684f7aa24ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "cb0469d9-d4aa-4547-8015-87e5560d2675", "created_at": "2023-04-19T16:15:40.465481+00:00", "updated_at": "2023-04-19T16:15:40.511109+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/cb0469d9-d4aa-4547-8015-87e5560d2675", "rel": "self"}, {"href": "http://localhost/allocations/cb0469d9-d4aa-4547-8015-87e5560d2675", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/657e83eb-ab16-403e-87bd-07d1caf8022c DEBUG util.py:445: PATCH: /v1/allocations/657e83eb-ab16-403e-87bd-07d1caf8022c [{'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-28793383-d600-4b4d-a056-59bd967e473e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "657e83eb-ab16-403e-87bd-07d1caf8022c", "created_at": "2023-04-19T16:15:40.559754+00:00", "updated_at": "2023-04-19T16:15:40.582991+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/657e83eb-ab16-403e-87bd-07d1caf8022c", "rel": "self"}, {"href": "http://localhost/allocations/657e83eb-ab16-403e-87bd-07d1caf8022c", "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-28793383-d600-4b4d-a056-59bd967e473e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "657e83eb-ab16-403e-87bd-07d1caf8022c", "created_at": "2023-04-19T16:15:40.559754+00:00", "updated_at": "2023-04-19T16:15:40.582991+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/657e83eb-ab16-403e-87bd-07d1caf8022c", "rel": "self"}, {"href": "http://localhost/allocations/657e83eb-ab16-403e-87bd-07d1caf8022c", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e238174b-1474-4416-a928-2abbaa46e5f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e238174b-1474-4416-a928-2abbaa46e5f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15d89d4c-21fd-4ddd-8c48-9a2f73beef1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15d89d4c-21fd-4ddd-8c48-9a2f73beef1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_421_third_party_admin_cannot_delete_an_allocation [0.073870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_030_nodes_maintenance_delete_member [0.117763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_member_cannot_put_custom_traits [0.083902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_lessee_admin_cannot_add_portgroup [0.076957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_owner_reader_can_read_node_allocation [0.115463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.061358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_251_lessee_manager_can_post_vifs [0.065721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.064468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_owner_manager_can_modify_portgroup [0.075981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_429_third_party_admin_cannot_delete_allocation [0.085308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.061056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_lessee_reader_cannot_access_chassis [0.066660s] ... ok 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-201a354a-2398-4b03-9c2a-1de97033249f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-201a354a-2398-4b03-9c2a-1de97033249f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9e4d7a0-bff6-46a2-bbe3-49fd8d52491f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9e4d7a0-bff6-46a2-bbe3-49fd8d52491f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a93b4b8e-d1e9-425c-9add-667787f4a694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a93b4b8e-d1e9-425c-9add-667787f4a694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b600e9bd-dfc0-424b-ac31-2ae6ac3655f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b600e9bd-dfc0-424b-ac31-2ae6ac3655f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f1e7c0-49ec-4450-9eb0-545dea57ded2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-64f1e7c0-49ec-4450-9eb0-545dea57ded2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aa70359e-5175-4f79-bd18-0083c8928e8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa70359e-5175-4f79-bd18-0083c8928e8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-020d92ed-bdd3-40aa-b96d-3dedfa39d7b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-020d92ed-bdd3-40aa-b96d-3dedfa39d7b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9329aef-c945-4d16-9d23-3c90a7eb7eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9329aef-c945-4d16-9d23-3c90a7eb7eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-00df535b-fc2f-4a48-ae38-498f3c3c4832 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_257_owner_admin_delete_vifs [0.063807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_288_lessee_admin_cannot_modify_portgroup [0.104846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.065137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_third_party_admin_cannot_access_chassis [0.064911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_258_owner_manager_delete_vifs [0.092853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_291_third_party_admin_cannot_modify_portgroup [0.068975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.065793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_443_node_history_get_entry_reader [0.085744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.069528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_lessee_admin_can_delete_vifs [0.127940s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/fab81c1c-0a42-4c7d-ab02-0b6f3910c62b DEBUG util.py:445: DELETE: /v1/allocations/fab81c1c-0a42-4c7d-ab02-0b6f3910c62b DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-101e7abc-a608-49da-8d4e-955fa860e541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fab81c1c-0a42-4c7d-ab02-0b6f3910c62b 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-101e7abc-a608-49da-8d4e-955fa860e541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fab81c1c-0a42-4c7d-ab02-0b6f3910c62b 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-b73013a1-d97d-481f-88ff-b150a75b9b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "created_at": "2023-04-19T16:15:40.880124+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/30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "rel": "self"}, {"href": "http://localhost/allocations/30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "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-b73013a1-d97d-481f-88ff-b150a75b9b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "created_at": "2023-04-19T16:15:40.880124+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/30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "rel": "self"}, {"href": "http://localhost/allocations/30cbf8a9-ac1d-445c-aad4-0b2b818d2fd0", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-cf678296-b1fa-4705-97e4-94101052d387 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cf678296-b1fa-4705-97e4-94101052d387 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-b5dbff60-eece-4c02-be2f-ba6ba02d83b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5dbff60-eece-4c02-be2f-ba6ba02d83b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f81881-713f-4e12-9cdc-859e1d06d404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f81881-713f-4e12-9cdc-859e1d06d404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4f01f741-d4f2-460e-b00a-a2f5d66c4e57 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4f01f741-d4f2-460e-b00a-a2f5d66c4e57 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cbafa74-c7d8-4e2c-8ff5-346d01564616 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4f01f741-d4f2-460e-b00a-a2f5d66c4e57", "created_at": "2023-04-19T16:15:41.200921+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4f01f741-d4f2-460e-b00a-a2f5d66c4e57", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cbafa74-c7d8-4e2c-8ff5-346d01564616 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4f01f741-d4f2-460e-b00a-a2f5d66c4e57", "created_at": "2023-04-19T16:15:41.200921+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4f01f741-d4f2-460e-b00a-a2f5d66c4e57", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7273134d-892d-405e-893a-7e5c5f596802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_lessee_node_history_get_member [0.078771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_260_lessee_manager_can_delete_vifs [0.075379s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4d97ca5d-b71d-420a-88f7-f3b96992cdfe DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4d97ca5d-b71d-420a-88f7-f3b96992cdfe {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8969b4a-f5db-4c38-9018-aa2e9202f5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-a8969b4a-f5db-4c38-9018-aa2e9202f5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c927f4ed-d722-4857-8628-5f613a0ab536 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-687847d2-b055-4d8f-8b4f-8d8ab15aac77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-3402d748-b44e-4303-aba7-3e5b6ed79b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-82a28bd6-6b7b-4107-a3ef-1f33d6fbb3ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-335c295f-9ffc-4098-acea-51ab2504af84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-86913105-d778-4265-90e6-80223e486807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-cc6ef34c-8cf6-4bda-901d-62b2bd682e08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-05544a0d-2708-40ac-b32e-66a4ae3c3139 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-b193e396-2678-46b1-ab0b-d22233a59c24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-72fdb5de-e8b7-4936-8d3c-d8b7317d44c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-b5212df1-c575-48cc-9201-67065720db6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-65429a29-c818-444c-a38a-d10699dcc986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-6be73dc3-510b-4b34-b4a5-5fbad80a5c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.079771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.081420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.070814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_third_party_admin_cannot_get_indicators [0.112672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.059926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.082209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_owner_member_can_set_indicator [0.066261s] ... 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/78a284ab-8c7c-48a5-a0b9-7eb037cc7781 DEBUG util.py:445: Openstack-Request-Id: req-8562d80d-da48-4e85-8b4b-4a621a0b70aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "created_at": "2023-04-19T16:15:40.755919+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/78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "rel": "self"}, {"href": "http://localhost/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781/ports", "rel": "self"}, {"href": "http://localhost/portgroups/78a284ab-8c7c-48a5-a0b9-7eb037cc7781/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67 DEBUG util.py:445: Openstack-Request-Id: req-be6de0d8-5ce2-4b70-8740-579641cf0dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "created_at": "2023-04-19T16:15:40.838996+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/28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "rel": "self"}, {"href": "http://localhost/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67/ports", "rel": "self"}, {"href": "http://localhost/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67/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/28db76b7-36b4-431d-abf1-c8f0c4bb7c67 DEBUG util.py:445: Openstack-Request-Id: req-be6de0d8-5ce2-4b70-8740-579641cf0dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "created_at": "2023-04-19T16:15:40.838996+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/28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "rel": "self"}, {"href": "http://localhost/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67/ports", "rel": "self"}, {"href": "http://localhost/portgroups/28db76b7-36b4-431d-abf1-c8f0c4bb7c67/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-af8b62a7-2abe-40ba-8339-bf42d1265de6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-af8b62a7-2abe-40ba-8339-bf42d1265de6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-891f3255-147b-4f9c-947d-bd765cdaf52b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-891f3255-147b-4f9c-947d-bd765cdaf52b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1135b5ef-f4e4-4932-b3e7-c5c420a524a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1135b5ef-f4e4-4932-b3e7-c5c420a524a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f67cb276-d8b9-4ccd-8e3b-9f7cf372c49b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f67cb276-d8b9-4ccd-8e3b-9f7cf372c49b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7ea5af00-0c73-4c45-af45-a8f016bfc4c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_298_third_party_admin_cannot_delete_portgroup [0.306668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.060991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_299_owner_reader_can_get_node_portgroups [0.084341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_put_admin [0.102420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_lessee_member_cannot_set_indicator [0.078522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.079142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_member [0.060783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_301_third_party_admin_cannot_get_portgroups [0.077280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.071128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_271_third_party_admin_cannot_set_indicator [0.079954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.061519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_303_lessee_reader_can_list_ports [0.069794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.067958s] ... 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-00df535b-fc2f-4a48-ae38-498f3c3c4832 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-20ce4978-0b45-4772-820d-d73053c7a6ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20ce4978-0b45-4772-820d-d73053c7a6ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5d06557f-e945-46f9-9f26-a6893a257143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d06557f-e945-46f9-9f26-a6893a257143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2cedcd1b-d14a-40ed-a2a1-14dfe8fb9373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cedcd1b-d14a-40ed-a2a1-14dfe8fb9373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6411aee6-7542-42e1-8b11-ab63306f8794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6411aee6-7542-42e1-8b11-ab63306f8794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/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-d0c2965e-f231-45b7-9a16-b8e58d0b03cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0c2965e-f231-45b7-9a16-b8e58d0b03cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dcc95673-84cf-460c-89e6-36ea396dca8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dcc95673-84cf-460c-89e6-36ea396dca8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d69c1355-8138-4467-aa89-198e173b7514 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-d69c1355-8138-4467-aa89-198e173b7514 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-ddf435ed-fd5f-401c-aeb2-c99d4ff5cb6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_can_list_portgroups [0.064074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.097058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_third_party_admin_cannot_list_ports [0.096210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_list_portgroups [0.065728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.066255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_lessee_reader_can_read_port [0.067703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.103251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.069199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_282_lessee_manager_cannot_add_portgroup [0.082221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_owner_admin_can_add_ports [0.083754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.072515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_088_nodes_traits_delete_admin [0.074238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_284_third_party_admin_cannot_add_portgroup [0.112918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_lessee_admin_cannot_add_port [0.065151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.065197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_member [0.068501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.064329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_285_owner_admin_can_modify_portgroup [0.076792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.089760s] ... 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-7ea5af00-0c73-4c45-af45-a8f016bfc4c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e4549db-51ad-4b27-90a1-73e26478a3f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e4549db-51ad-4b27-90a1-73e26478a3f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb18d581-179d-4dd0-bea2-8b2d2805ce5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fb18d581-179d-4dd0-bea2-8b2d2805ce5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f55ddb29-a48e-41f6-ad6a-5c248f599cb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f55ddb29-a48e-41f6-ad6a-5c248f599cb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-82e589c7-5fc3-4753-9c6e-e1b21ce8e28c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-82e589c7-5fc3-4753-9c6e-e1b21ce8e28c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": []} 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-5a0d6117-5cbd-4616-babd-1f329beafffa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:41.849291+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-5a0d6117-5cbd-4616-babd-1f329beafffa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:41.849291+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 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-f7f0a21d-ad46-47b8-86e3-ee14c0e387d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7f0a21d-ad46-47b8-86e3-ee14c0e387d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7f5932bf-a41e-49d2-b740-62ffc0d14266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7f5932bf-a41e-49d2-b740-62ffc0d14266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_owner_manager_can_modify_port [0.082089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.064836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_lessee_manager_cannot_modify_port [0.063605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_290_lessee_member_cannot_modify_portgroup [0.092504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_member [0.073782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_lessee_member_cannot_modify_port [0.092349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.069571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_292_owner_admin_can_delete_portgroup [0.086298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.059340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_lessee_admin_cannot_delete_portgroup [0.067954s] ... ok 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-21713a27-b1e1-46d9-8c8a-c7acdf683708 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-de259f6b-1152-46ef-819d-9a6d2bc2f675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-9f150c22-f96d-4d9f-8e56-e6011244c01a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-7ec02478-0664-45ae-bafc-c83ac4f68adf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-4bb3d584-7fb9-4349-af4d-93ddbad644b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-bb8e8ec9-3d31-449b-af51-dcedb3ab9feb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-9ad80818-8ac3-4c25-a6ce-ae39f139c8d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f0cf0406-8513-4ca8-8f49-1691041e555c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6df93eee-f497-45da-89d8-ce7fe895f02f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-98d7cee5-0939-46f7-829a-8005d6ef4dfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-319307bb-4d1a-4f74-8ba8-60c8182dfd1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-61a07a26-9cbc-49ce-b9bf-184168cb07c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-9a320d68-9a4f-4554-a160-2c4d34962a41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7e60d816-6124-4746-bc9a-e22f47306c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_107_nodes_management_indicators_get_member [0.061308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_owner_admin_can_delete_port [0.162071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_296_lessee_manager_cannot_delete_portgroup [0.108938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.060460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_111_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.TestRBACProjectScoped.test_project_scoped_331_owner_reader_can_get_node_ports [0.096439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.364667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.063465s] ... 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-ddf435ed-fd5f-401c-aeb2-c99d4ff5cb6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd63b6f4-414e-43fd-8872-6cbf6ff0b098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd63b6f4-414e-43fd-8872-6cbf6ff0b098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-07ed10ce-abd4-4db9-bd0c-ffbfdd19905c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-07ed10ce-abd4-4db9-bd0c-ffbfdd19905c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fe72cb2-2e0e-4aa6-ac3a-b33df4dcb344 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8fe72cb2-2e0e-4aa6-ac3a-b33df4dcb344 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4b4f3398-b773-439a-8515-2e118a06b227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b4f3398-b773-439a-8515-2e118a06b227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8605892d-8555-4592-bc2a-fc7cc6208521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8605892d-8555-4592-bc2a-fc7cc6208521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bec8891d-3b60-4287-9969-3c127d5815a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bec8891d-3b60-4287-9969-3c127d5815a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6c38998-81ae-4b32-9042-7075c649aef6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e6c38998-81ae-4b32-9042-7075c649aef6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-937d3eaa-f79b-472f-8583-bc1a07c63356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-937d3eaa-f79b-472f-8583-bc1a07c63356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_297_lessee_member_cannot_delete_portgroup [0.075325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_300_lessee_reader_can_get_node_porgtroups [0.095857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.062143s] ... 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-7273134d-892d-405e-893a-7e5c5f596802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc0ad57-9304-4388-a088-2f541d5c214a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-96185cd8-c82a-4030-aaf9-60fe30341050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-005bef43-bf34-47b3-b13b-90509e4d362c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-25caa613-d25a-421a-9ee0-b80574692284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-b3de57d5-1ccd-462d-8539-b585cdf37a09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-d5da5b04-550c-4a70-81e9-557455efecbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-82996636-1a8b-44fb-a63a-25438b9560be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-fc9623c7-a00d-46f0-8a6f-42ef9915a509 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-272c7e2e-6da0-4987-b443-60c1f4edbe9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-432e9831-5234-4f49-9b6d-35432091f9bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8714679-ff1d-499f-b347-51b5011e1d0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-aceaa3f7-e7e9-48cb-8425-810e2804c419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6b75ec78-a26a-4dce-8298-51d072944085 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.094617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_130_nodes_portgroups_get_admin [0.060842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_third_party_admin_cannot_get_ports_by_portgroup [0.194223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_third_party_admin_cannot_read_port [0.113013s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.136522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_observer [0.055700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_owner_manager_can_add_ports [0.069544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.059447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_lessee_member_cannot_add_port [0.068258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.128989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.068193s] ... ok 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-81a9dabd-dbba-4426-aa30-d95a2d9cd3e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81a9dabd-dbba-4426-aa30-d95a2d9cd3e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97d5b660-5434-464c-8883-350bfa6dc82b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97d5b660-5434-464c-8883-350bfa6dc82b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-94b34966-fb44-407e-aaf9-9c087f352944 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-94b34966-fb44-407e-aaf9-9c087f352944 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ce2f995-b74d-4e2d-b4b6-c5ddb7d4394d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ce2f995-b74d-4e2d-b4b6-c5ddb7d4394d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-71b51413-aceb-41f1-bdab-09aa73c164c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-71b51413-aceb-41f1-bdab-09aa73c164c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-43025878-5396-4eb1-8abf-d57fb5fcadce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-43025878-5396-4eb1-8abf-d57fb5fcadce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc6198f3-91fb-4adc-ac90-e60e19c63ba5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_owner_reader_can_list_volume_connectors [0.148213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_316_third_party_admin_cannot_add_port [0.064625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_member [0.068170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.075469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_lessee_reader_can_list_volume_connectors [0.111109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_owner_admin_can_modify_port [0.085273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.072277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_observer [0.078380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_third_party_admin_cannot_get_connector_list [0.074437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_lessee_admin_cannot_modify_port [0.064982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.069186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_observer [0.065949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_owner_admin_can_post_volume_connector [0.076798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_member [0.064759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_member [0.072599s] ... 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-b51835a9-e67d-4cb1-88b6-8db8645d724a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b51835a9-e67d-4cb1-88b6-8db8645d724a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-7a06c985-6f87-419c-80f1-19e1ef2e942b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a06c985-6f87-419c-80f1-19e1ef2e942b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-ebdb1013-5a2f-4a9a-988e-296c429cf306 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ebdb1013-5a2f-4a9a-988e-296c429cf306 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-ed5c2e28-275d-4d51-a264-5d15b69c86a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5c2e28-275d-4d51-a264-5d15b69c86a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0617e7a9-d629-4a65-9759-81cef6846b62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0617e7a9-d629-4a65-9759-81cef6846b62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b228c235-20e7-4cbd-a667-ac3fd7e4fd8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b228c235-20e7-4cbd-a667-ac3fd7e4fd8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b79ddd4b-bfe0-4409-a4fa-d631e36e7819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b79ddd4b-bfe0-4409-a4fa-d631e36e7819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4b5847d-4cdc-472f-9096-3b48df65ebf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e4b5847d-4cdc-472f-9096-3b48df65ebf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_347_third_party_admin_cannot_get_volume_connector [0.076419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_346_lessee_reader_can_get_volume_connector [0.103125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_manager_can_patch_volume_connectors [0.077146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.073158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.085162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_owner_manager_can_delete_volume_connectors [0.067998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_manager_can_patch_volume_connectors [0.068862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_member [0.072012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_member [0.068245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_355_owner_admin_can_delete_volume_connectors [0.075748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_observer [0.076158s] ... 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-dc6198f3-91fb-4adc-ac90-e60e19c63ba5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5cd86442-eac5-4927-be8e-89f50267170e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5cd86442-eac5-4927-be8e-89f50267170e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-89d637fb-cfc6-45e1-8185-12667d6d22c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-89d637fb-cfc6-45e1-8185-12667d6d22c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/4fc8d8bd-b3c0-44be-b901-06d73257d237 DEBUG util.py:445: Openstack-Request-Id: req-930411de-ad5d-49c7-a03b-c2b476fa1dfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4fc8d8bd-b3c0-44be-b901-06d73257d237", "created_at": "2023-04-19T16:15:43.123304+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/4fc8d8bd-b3c0-44be-b901-06d73257d237", "rel": "self"}, {"href": "http://localhost/volume/connectors/4fc8d8bd-b3c0-44be-b901-06d73257d237", "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/4fc8d8bd-b3c0-44be-b901-06d73257d237 DEBUG util.py:445: Openstack-Request-Id: req-930411de-ad5d-49c7-a03b-c2b476fa1dfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4fc8d8bd-b3c0-44be-b901-06d73257d237", "created_at": "2023-04-19T16:15:43.123304+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/4fc8d8bd-b3c0-44be-b901-06d73257d237", "rel": "self"}, {"href": "http://localhost/volume/connectors/4fc8d8bd-b3c0-44be-b901-06d73257d237", "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-8afff6b4-f97f-46e9-8ec2-79c4336e92e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:43.187771+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-8afff6b4-f97f-46e9-8ec2-79c4336e92e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:43.187771+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb1b408-9c08-4ca5-9bee-d6f1a25465c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb1b408-9c08-4ca5-9bee-d6f1a25465c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_lessee_admin_create_volume_target [0.079383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_owner_member_can_patch_volume_target [0.079942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_358_lessee_manager_can_delete_volume_connectors [0.073075s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_post_admin [0.067929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_359_third_party_admin_cannot_delete_volume_connector [0.064684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_observer [0.071283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_lessee_manager_can_patch_volume_target [0.078204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.248606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_owner_reader_can_get_volume_target [0.077876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.069203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_owner_admin_can_delete_volume_target [0.080869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. 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-1b3e93e5-da53-46ea-9096-21f1adda31b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-8ddbbfe8-3db0-4817-b020-183f5ed3041b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8d52a75-c989-494a-a4ec-62cd859b60fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ad1d13bc-c47e-46b8-b862-5bf8a312b9cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2d9b87b7-4ef4-4c34-9a54-10c0fa57f4e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e720fb2d-8d9c-4c9f-9314-5a767fb7ca9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e7134b77-04b6-4392-a8f8-410ec10f6b7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-95662f8e-9b0e-49d5-a28a-4a475cf60b71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-b35961c6-3718-4dc3-b00c-9b072d89bff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-51eb168a-1b79-4aaa-801b-35ca047c1f0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e7427bc6-8e92-4d97-840f-1ce844d6cd26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-da01f34b-8935-4d55-ad7b-1ee463b76020 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-dada02ce-5876-4d0a-b600-33a17ffe9bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-0494ea01-498c-4f09-a1d9-4f2d96c3eb0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-2dc0bf32-faa3-463b-9d20-57d349e4c1b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_volume_get_admin [0.059675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_observer [0.066412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_lessee_admin_can_delete_volume_target [0.083958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_169_volume_connectors_get_admin [0.067663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_owner_reader_can_get_volume_connectors [0.082481s] ... 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-42815e11-3885-4a3c-8baa-4779cf6aefd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-42815e11-3885-4a3c-8baa-4779cf6aefd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92421b9f-258a-4c03-97a1-3e008d252421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92421b9f-258a-4c03-97a1-3e008d252421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31414b12-ac08-4677-b2f9-13269ddf703f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31414b12-ac08-4677-b2f9-13269ddf703f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1dd62bd2-ff6e-47fd-861f-68f67b314f20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dd62bd2-ff6e-47fd-861f-68f67b314f20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9c09c21d-133b-4723-87d8-08d9d6131f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c09c21d-133b-4723-87d8-08d9d6131f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7beba28-15a0-4092-bff8-f8258051269d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c7beba28-15a0-4092-bff8-f8258051269d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2957a47f-f811-47bc-8116-b620766c0741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:43.574626+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-2957a47f-f811-47bc-8116-b620766c0741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:43.574626+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_third_party_admin_cannot_get_volume_target [0.146201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_owner_manager_create_volume_target [0.069216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_187_volume_targets_post_admin [0.064999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_113_portgroups_get_member [0.195157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.075791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_lessee_manager_create_volume_target [0.078794s] ... 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/volume/targets/22475ec3-af40-48e8-9372-c34787c5ec59 DEBUG util.py:445: Openstack-Request-Id: req-4ecd8724-d7ba-4059-84d5-15fcebb87d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "22475ec3-af40-48e8-9372-c34787c5ec59", "created_at": "2023-04-19T16:15:43.374245+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/22475ec3-af40-48e8-9372-c34787c5ec59", "rel": "self"}, {"href": "http://localhost/volume/targets/22475ec3-af40-48e8-9372-c34787c5ec59", "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/22475ec3-af40-48e8-9372-c34787c5ec59 DEBUG util.py:445: Openstack-Request-Id: req-4ecd8724-d7ba-4059-84d5-15fcebb87d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "22475ec3-af40-48e8-9372-c34787c5ec59", "created_at": "2023-04-19T16:15:43.374245+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/22475ec3-af40-48e8-9372-c34787c5ec59", "rel": "self"}, {"href": "http://localhost/volume/targets/22475ec3-af40-48e8-9372-c34787c5ec59", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-510924db-d8c1-4298-beb1-36a26bab8b5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-510924db-d8c1-4298-beb1-36a26bab8b5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e1e0d2bd-5d22-411f-a5da-274e87d6f4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1e0d2bd-5d22-411f-a5da-274e87d6f4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed8efb04-9b10-4d75-a19c-f6f932f142e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed8efb04-9b10-4d75-a19c-f6f932f142e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c8a993f-88e3-428b-9f05-0ba307e4b5ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c8a993f-88e3-428b-9f05-0ba307e4b5ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-64cea72e-4651-4e3c-a06d-9ef680c4124d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-64cea72e-4651-4e3c-a06d-9ef680c4124d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-218d3599-eca9-4f97-a259-bc24cc56023c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_lessee_reader_can_get_node_volume_targets [0.101113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_third_party_admin_cannot_get_drivers [0.070592s] ... 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-1a3e6940-0534-437c-9a60-1c3b6cc589a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c48a0257-4935-49df-988b-2d90473d7471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-55862831-6196-4554-a754-91dc09015dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a7881902-dc06-4b15-9209-d5fb5d4862e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f6c474d3-592b-4aa0-a1e1-8078f615dd16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-78c7de6e-5daf-4054-bf59-7874e3eb026a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-64b69918-7496-44fa-b0e8-3b4a9f647564 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-8232b90a-f166-474f-b99b-3f58f353880c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c532e774-d38c-4eb8-b89c-ba66675791fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-27e3beec-0a15-48f1-814b-aeed20def44d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a240df0d-02ab-42d6-ac73-3c2e6251a219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-09f722a9-17ef-4346-b41b-9d45fcce7f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-5be62e06-d924-42aa-a6bb-42207c162f4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-036e2acf-44dd-4572-8d40-6da3aae01993 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_115_portgroups_post_admin [0.070037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.071282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_lessee_admin_can_patch_volume_target [0.110955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_observer [0.088989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_owner_reader_cannot_get_conductors [0.073337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_member [0.067982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_third_party_admin_cannot_delete_volume_target [0.071436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.077327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_414_third_party_admin_can_create_allocation [0.074667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.071670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_owner_reader_can_get_node_volume_targets [0.080352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_member [0.057320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_416_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.072008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.085632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.060613s] ... 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-30157be4-7486-47ac-a734-318286bea1d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-30157be4-7486-47ac-a734-318286bea1d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 3, '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/d9fb925b-82c5-4fd7-becf-f463bf6923f1 DEBUG util.py:445: Openstack-Request-Id: req-64caba46-c521-48be-9d33-e892d0b11e9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d9fb925b-82c5-4fd7-becf-f463bf6923f1", "created_at": "2023-04-19T16:15:43.813539+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d9fb925b-82c5-4fd7-becf-f463bf6923f1", "rel": "self"}, {"href": "http://localhost/volume/targets/d9fb925b-82c5-4fd7-becf-f463bf6923f1", "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/d9fb925b-82c5-4fd7-becf-f463bf6923f1 DEBUG util.py:445: Openstack-Request-Id: req-64caba46-c521-48be-9d33-e892d0b11e9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "d9fb925b-82c5-4fd7-becf-f463bf6923f1", "created_at": "2023-04-19T16:15:43.813539+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d9fb925b-82c5-4fd7-becf-f463bf6923f1", "rel": "self"}, {"href": "http://localhost/volume/targets/d9fb925b-82c5-4fd7-becf-f463bf6923f1", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id3'} 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/59a9cf76-dc60-4be2-bcc5-647c509eee9f DEBUG util.py:445: Openstack-Request-Id: req-1e0e83b8-f6f5-44b7-b1d3-fffe6107f3f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "59a9cf76-dc60-4be2-bcc5-647c509eee9f", "created_at": "2023-04-19T16:15:43.893324+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/59a9cf76-dc60-4be2-bcc5-647c509eee9f", "rel": "self"}, {"href": "http://localhost/volume/targets/59a9cf76-dc60-4be2-bcc5-647c509eee9f", "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/59a9cf76-dc60-4be2-bcc5-647c509eee9f DEBUG util.py:445: Openstack-Request-Id: req-1e0e83b8-f6f5-44b7-b1d3-fffe6107f3f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "59a9cf76-dc60-4be2-bcc5-647c509eee9f", "created_at": "2023-04-19T16:15:43.893324+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/59a9cf76-dc60-4be2-bcc5-647c509eee9f", "rel": "self"}, {"href": "http://localhost/volume/targets/59a9cf76-dc60-4be2-bcc5-647c509eee9f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b609037-6b6f-47ee-b36d-9fc712d45378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b609037-6b6f-47ee-b36d-9fc712d45378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5eb6cb01-d75a-4f22-ac22-f3779fcd1453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5eb6cb01-d75a-4f22-ac22-f3779fcd1453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73f8073e-17e7-43d7-9032-7469e1c173ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73f8073e-17e7-43d7-9032-7469e1c173ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_third_part_admin_cannot_read_node_volume_targets [0.064722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_419_third_party_admin_cannot_read_an_allocation [0.076715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.091308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_third_party_admin_cannot_get_drivers_vendor_passthru [0.068478s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.060908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_owner_admin_can_delete_allocation [0.077288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_136_ports_get_admin [0.086315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.087377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_owner_reader_can_get_bios_setttings [0.095708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_432_third_party_admin_cannot_get_deploy_templates [0.063144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_member [0.063569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_third_party_admin_cannot_get_bios_settings [0.069654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.103280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_observer [0.077275s] ... 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-218d3599-eca9-4f97-a259-bc24cc56023c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-72dd545b-4be9-4145-a4df-4263657d8a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72dd545b-4be9-4145-a4df-4263657d8a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9b48361-e043-4ede-a87f-e60cfe0654a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9b48361-e043-4ede-a87f-e60cfe0654a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7a69f4f-a19a-43d4-b6ac-8f9c58296054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7a69f4f-a19a-43d4-b6ac-8f9c58296054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ae4e189-6ff5-4211-82f6-7adc1304b132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6ae4e189-6ff5-4211-82f6-7adc1304b132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 get /v1/allocations/4f5c0894-637a-436a-b5ac-0509e88637bd DEBUG util.py:445: GET: /v1/allocations/4f5c0894-637a-436a-b5ac-0509e88637bd {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b17ac4b5-1e52-430e-b552-d3a8aefbf44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4f5c0894-637a-436a-b5ac-0509e88637bd 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-b17ac4b5-1e52-430e-b552-d3a8aefbf44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4f5c0894-637a-436a-b5ac-0509e88637bd could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8405f96f-54fe-4869-9560-28826813879a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8405f96f-54fe-4869-9560-28826813879a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da19e43b-692e-4cb9-9e0c-734e0e8739ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da19e43b-692e-4cb9-9e0c-734e0e8739ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_438_node_history_get_admin [0.071220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_third_party_admin_cannot_get_conductors [0.059869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_439_node_history_get_member [0.070898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_port_id_get_admin [0.072819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.093975s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_lessee_reader_can_get_allocations [0.066476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_node_history_get_reader [0.085300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_delete_admin [0.069023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_406_owner_manager_can_delete_their_allocation [0.100951s] ... 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-3973f3ca-7e82-4f4c-9a2f-34749bddb240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c902d9e6-05cc-4dc3-8213-67544159e4ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aded3b24-3608-4ad3-af58-84a37ce1b6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8de906de-aee0-4583-8dac-125dc961289d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-55905d3f-de0f-49df-9cdf-7ed5c6ed3e34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7352c0eb-9c14-408e-9d8c-7a60c12c1498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-48339d3e-e776-40d5-b483-1271b9cbd563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bc9e1408-1222-459c-8fcc-d697ea461c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e9c517d-e907-4038-a92c-19dcc4778155 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a18c30f7-a260-43e9-95d5-d1490a0891b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43e7a11c-c7e1-4094-911b-6b10bfa10455 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e69dc2c-0826-4395-8e03-c4361b1d9d5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9262b54-09a4-482f-b9c0-9dfca6a01d5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d5cdb57-40b9-4db1-bfbd-66b5d3c8fe13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_234_nodes_bios_get_admin [0.081569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_third_party_admin_cannot_get_node_history [0.083566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.066576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_nodes_ports_get_admin [0.081487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0f76e73-214a-452f-b8e7-c1156d948a4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d0f76e73-214a-452f-b8e7-c1156d948a4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d2491bd9-43bd-4121-b8a1-0e045d775907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2491bd9-43bd-4121-b8a1-0e045d775907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11601430-3bfe-4103-802a-a4a582570d5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-11601430-3bfe-4103-802a-a4a582570d5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d21aa78-d639-4174-884c-bfe11155e3d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0d21aa78-d639-4174-884c-bfe11155e3d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ac297464-f955-4889-a20d-1c96e216587f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac297464-f955-4889-a20d-1c96e216587f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca53422b-5068-4dfd-9420-bba0b26a730d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "1ac48251-0aef-4aa6-b325-1b297515c45b", "created_at": "2023-04-19T16:15:44.566249+00:00", "updated_at": "2023-04-19T16:15:44.567844+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ac48251-0aef-4aa6-b325-1b297515c45b", "rel": "self"}, {"href": "http://localhost/allocations/1ac48251-0aef-4aa6-b325-1b297515c45b", "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-ca53422b-5068-4dfd-9420-bba0b26a730d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "1ac48251-0aef-4aa6-b325-1b297515c45b", "created_at": "2023-04-19T16:15:44.566249+00:00", "updated_at": "2023-04-19T16:15:44.567844+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ac48251-0aef-4aa6-b325-1b297515c45b", "rel": "self"}, {"href": "http://localhost/allocations/1ac48251-0aef-4aa6-b325-1b297515c45b", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/8b8a9a25-8a79-483c-b9b2-a9032254d7d5 DEBUG util.py:445: DELETE: /v1/allocations/8b8a9a25-8a79-483c-b9b2-a9032254d7d5 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abbaee92-61f2-4e0d-a784-71f1e5161825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abbaee92-61f2-4e0d-a784-71f1e5161825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/63b1fe2c-c960-411f-9f8c-ab638f57ced0 DEBUG util.py:445: DELETE: /v1/allocations/63b1fe2c-c960-411f-9f8c-ab638f57ced0 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a46f1a12-8ce6-43e9-a6b7-5292beafdaf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_408_lessee_manager_can_delete_their_allocation [0.086423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_conductors_get_admin [0.074474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_member [0.118671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_member [0.057746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.065354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_418_owner_manager_can_create_allocation_with_their_uuid [0.088498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.069281s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.083070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_247_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_428_lessee_manager_not_delete_allocation [0.097569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_observer [0.068512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_434_owner_reader_cannot_access_chassis [0.076909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.123565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_248_allocations_post_observer [0.117445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.074546s] ... 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-8711a44a-033d-401f-b5d8-97784e938233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d5b35bb3-bac6-44de-af05-95f94ebdf242 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ec32ba46-d4e4-4396-99ff-fb5d971b5f28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-475c4559-b110-4e88-ac64-2425dec096f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6177ddf4-f4ba-47fc-91b7-7236388b043d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5e52f071-fde7-4c6f-a5dd-1a42592b9a81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0077aee0-5679-491b-a634-7d24d0eec276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2591eb07-d62a-4533-a754-585b079e9e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d67dd1e0-bc05-47c3-93a6-300db928b9e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-66a6c97b-e9bd-4740-a8cb-2ef2d039959f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-67e270fc-4a24-451a-aefa-0a1e6b597754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-490ab6fa-732e-4247-af10-e5f762966d6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-211a64a6-eacc-4501-bd5e-55d77015d3f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1183ddd-9802-4ae5-a222-f61bb416afe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f89bf763-5f90-4470-95a4-1bc43e8c9763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.061927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_249_allocations_get_admin [0.124162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.136924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_observer [0.061882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.070481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_437_third_party_admin_cannot_create_chassis [0.271169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.132617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.128041s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.066323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_442_node_history_get_entry_member [0.075871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.076749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.065046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_observer [0.110504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_446_lessee_node_history_get_reader [0.069086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.059914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_delete_admin [0.069427s] ... 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-545828bb-9d45-4f67-81b1-a3d4eb26ae4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "192ed992-0a68-45f4-8e49-5120fa2bea33", "created_at": "2023-04-19T16:15:44.439962+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/192ed992-0a68-45f4-8e49-5120fa2bea33", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545828bb-9d45-4f67-81b1-a3d4eb26ae4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "192ed992-0a68-45f4-8e49-5120fa2bea33", "created_at": "2023-04-19T16:15:44.439962+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/192ed992-0a68-45f4-8e49-5120fa2bea33", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d4b2454-f23b-4641-9307-a43d4fe7caef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "875bb904-d5f6-45ed-be53-db625f45605f", "created_at": "2023-04-19T16:15:44.503824+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/875bb904-d5f6-45ed-be53-db625f45605f", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d4b2454-f23b-4641-9307-a43d4fe7caef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "875bb904-d5f6-45ed-be53-db625f45605f", "created_at": "2023-04-19T16:15:44.503824+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/875bb904-d5f6-45ed-be53-db625f45605f", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45aba33e-5522-4aa9-bdb3-286de97c4ae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "935d3031-5cee-43ba-bc40-8025d11b1b28", "created_at": "2023-04-19T16:15:44.583854+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/935d3031-5cee-43ba-bc40-8025d11b1b28", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45aba33e-5522-4aa9-bdb3-286de97c4ae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "935d3031-5cee-43ba-bc40-8025d11b1b28", "created_at": "2023-04-19T16:15:44.583854+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/935d3031-5cee-43ba-bc40-8025d11b1b28", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-138c0ded-adb9-4749-919e-c42c9dae9e74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-138c0ded-adb9-4749-919e-c42c9dae9e74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-a5137aaf-a4c7-4d29-89f2-4a88da8b880b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-cc4bedd4-aca0-4386-a1be-35be7e4b91f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-0b007173-6e7a-42a6-a183-75688ccea18a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-4df8a06e-c28f-4128-b722-6d2fe2fe39db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-ac8bf7d4-4239-49aa-8f6d-dd12f837b3f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-f0582cd5-0c08-4d2e-b4ad-1a82156e926d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.066499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_199_nodes_volume_get_admin [0.073487s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_lessee_node_history_get_entry_admin [0.081583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.090110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_member [0.076159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.060971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.057997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_270_deploy_templates_get_admin [0.067200s] ... 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-a46f1a12-8ce6-43e9-a6b7-5292beafdaf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd6614a3-36f4-4e5e-b9c4-5782d6a64a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd6614a3-36f4-4e5e-b9c4-5782d6a64a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4d7394ea-bce0-4df2-b4c9-a12b7cc8d87e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d7394ea-bce0-4df2-b4c9-a12b7cc8d87e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-e5e19ecd-f5db-4c1d-9847-2e9d2e180e5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5e19ecd-f5db-4c1d-9847-2e9d2e180e5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/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-64571418-79d9-44f4-904f-33ac4993397d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64571418-79d9-44f4-904f-33ac4993397d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f5341ec8-26f9-47ac-a4b6-b65fb4f93be4 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f5341ec8-26f9-47ac-a4b6-b65fb4f93be4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5642bccc-6417-4873-bd8b-47a31d81e5e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "f5341ec8-26f9-47ac-a4b6-b65fb4f93be4", "created_at": "2023-04-19T16:15:45.350622+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f5341ec8-26f9-47ac-a4b6-b65fb4f93be4", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5642bccc-6417-4873-bd8b-47a31d81e5e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "f5341ec8-26f9-47ac-a4b6-b65fb4f93be4", "created_at": "2023-04-19T16:15:45.350622+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f5341ec8-26f9-47ac-a4b6-b65fb4f93be4", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7ff5bd1-2e98-4222-a0a7-3ef6c2df0714 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-a7ff5bd1-2e98-4222-a0a7-3ef6c2df0714 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf0bd5c3-ca75-4c49-bf8c-c63cf1ccae49 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf0bd5c3-ca75-4c49-bf8c-c63cf1ccae49 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-821df3c4-356f-41ff-8712-16be63b42c83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-821df3c4-356f-41ff-8712-16be63b42c83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d3352fca-38fb-4da2-8896-6b7707117be0 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d3352fca-38fb-4da2-8896-6b7707117be0 {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_lessee_node_history_get_entry_reader [0.063949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.074724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.081868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.098410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.074665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.076442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.077870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_member [0.081812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.079235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.068358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.070061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_member [0.069860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.093320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.064053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_208_drivers_get_admin [0.061431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.067308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_member [0.075006s] ... ok 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-30aed73c-cad6-4d81-8c34-1b5a647c41c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-b744605c-e295-4b47-94d7-49fd39e21c84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-44dcf74f-964a-4e98-ba1d-8d96a9a8d7e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-671d90ae-559f-46da-a158-ad95a9d4b23a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-268a22a9-4c92-41ba-9dbc-c5a6b8b7b4a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d78ad69c-26e1-42fb-b9be-951d339bfd07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/62c9548b-2a50-4df1-b2e9-0856941e5175 DEBUG util.py:445: PATCH: /v1/allocations/62c9548b-2a50-4df1-b2e9-0856941e5175 [{'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-56545b20-0066-4e47-b719-2fc0a7c4a69b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 62c9548b-2a50-4df1-b2e9-0856941e5175 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-303f086b-1673-458f-b072-b89a64f02139 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-98e3edb4-4b41-4e38-9e24-ec5ec86c56d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2013e454-49aa-4e92-a10a-14c65d2a0341 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-501a0a1e-1459-4ed9-9143-98a95a816270 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/b3344e58-f27c-4fd6-9eb2-f47bc493e6d8 DEBUG util.py:445: PATCH: /v1/deploy_templates/b3344e58-f27c-4fd6-9eb2-f47bc493e6d8 [{'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-d7a769f8-dfa7-47ec-a689-77ebb60fc6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/0188513e-ac68-4764-865b-4aa5be1c76ed DEBUG util.py:445: PATCH: /v1/deploy_templates/0188513e-ac68-4764-865b-4aa5be1c76ed [{'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-19c6d519-4966-4f7e-a50d-61ece065818d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e31debf5-b780-435f-90bf-516c8039e046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_observer [0.079082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.065886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.089598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.082435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_210_drivers_get_observer [0.065196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_observer [0.070951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.093825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.059812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.078253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.065153s] ... 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-82c9c754-26e2-4428-95e8-fef7c4d19b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c7bedc91-e4b7-43db-95d5-bdb4a76f83b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c23ccfbc-f6af-44fd-b110-c8997c639808 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e4f625ab-e0e6-4d45-aa1a-7d49520e45da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-317d8d3e-09f8-4043-a70e-b7192f680207 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2ccf77b-7975-42d2-b8c7-fc6659197985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9aaa1aa-88bd-42fd-9439-66e1b49d81af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-85548066-248a-4472-9efd-bffffa0340d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-fd1495d1-ca9a-410e-ac21-20d1a992d342 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e531bae8-1804-4e66-8e3f-88ae03301f65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e86d1dce-43c7-444d-88f7-2c3e8d6fc590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-71e6747e-df6d-4add-bdb5-371a61a3d571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bf00e03-f0ae-4564-b94f-27661fa4d238 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30270610-0a57-4110-a171-5505dd00564e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_observer [0.061314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.126461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.099444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.071446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_082_nodes_traits_get_admin [0.069946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.063707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.074939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_observer [0.071433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_member [0.076289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.063816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.069972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.096932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_member [0.074712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.061148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.071105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.068250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.071398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.077882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.073408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_242_conductors_get_observer [0.062456s] ... 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-c4f6599c-f22e-46b5-b402-4e3deb80bc64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f0cbe03b-07fc-48ed-b1bb-5779b3810291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-ca16f374-9d7f-455b-a20f-4a6a7a9b1f64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-249192c3-84b9-4982-a140-4f7797260041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e36a686-a29a-4cd9-98fe-c5dd36bce42b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a00c79fb-2da9-4ed6-b27b-b574a804332f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-92f5ac99-cab6-4839-adb4-f8538a00bfef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-eb26b0a9-1e3f-4473-86cf-3dec783b8312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-bfd40630-9b39-4bbf-b405-993b3d7c73ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-9acbe08c-ca22-4fd2-adb3-27359e69abad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-3d24b9bc-361e-453a-8ddd-9318c92199cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-c8ac59da-b336-4757-a02b-efb8f4938f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f5c585eb-e908-4b00-b944-0ff00a0d97f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-ba5ac7f6-9bcd-4dc9-91f2-208982b92ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.079554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.077847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.092866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_hostname_get_admin [0.092806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.062114s] ... 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-e5ad8d9a-4d07-47e9-aecd-632901a6e727 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG 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-e5ad8d9a-4d07-47e9-aecd-632901a6e727 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-3365b340-a0b0-446f-bac5-a3745ba5f1cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-d128684f-58bb-421e-be54-bdde348b5069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-477afb7d-5574-4c8f-b3b5-d195dbde2445 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-477afb7d-5574-4c8f-b3b5-d195dbde2445 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71a8785d-2c5d-432e-90f3-a11ab987b902 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-054bd255-aa2e-491a-a99f-9ceeae4a2d18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-95f49876-2074-4686-a0d7-2867a5c16ea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-7d25d879-fda6-443c-bcd6-15e83f5bc9c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6f5e11cd-5a61-4aab-bba3-e825e928d1a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-2e1eba97-d725-44b5-a9f5-79b9e89e2cb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e7d31ddd-553e-4ef1-917a-a4eefd311678 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-d6771654-c267-4dec-87ad-2e83061d06cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-2d015113-9fcb-4e95-a003-50ce6806dfce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-cb4ea431-0fd2-4e26-b2f9-6a7ec23129ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.059549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.242340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.159244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.065576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_250_allocations_get_member [0.148708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_097_nodes_vifs_get_admin [0.064728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.073119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.066612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_observer [0.074418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_110_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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.077022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.078101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_member [0.090419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_member [0.077938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.068398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_member [0.061453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.094577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.065674s] ... 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-e17cd9b1-7aa2-4e7a-b03a-60964931fea7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afcbf9e2-3170-4be4-bdf6-9b31beb1ff77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36a7689f-58cc-477b-aafd-8e65a52a9382 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c635176-57be-4e57-b474-f4a844c16cd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0e52607-13ee-4676-adc5-1b7ea83d2161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36cc2f3f-f494-4b39-bf31-d9857c488858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a720e726-8e9b-4e1c-b979-3ffdb226316c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a720e726-8e9b-4e1c-b979-3ffdb226316c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-29bf44b3-6d8c-44e8-8bc2-c6a3cee15e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-8697eb70-a25c-46d2-bb4c-6f8a646a3982 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a4decc9f-7f9a-4513-9af3-ff535ab3c89e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-887e9df7-f365-499d-8824-0529f49a8e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-38eb59fb-ce06-45e4-9ec9-8b1b32eb5961 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-1c8a8361-ef1f-4996-b15f-fd4691b00736 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-9cb0fe2c-98a7-436c-9421-40dab66f6196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.074889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.075674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.087764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.099418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.065252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.070171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.068824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.057018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_member [0.096465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.061743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.062622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.075887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_deploy_templates_post_admin [0.103420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_member [0.064989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.073444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.064645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.070032s] ... 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-05560254-643f-484e-8866-858f0f120002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/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-2556e0c8-9346-4b1a-a55f-25bba37c9fdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecbed8fc-1dfc-4714-95a0-fa9a25a5e182 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fedf9bfa-2e46-4fae-926a-78eba733e436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bfbeeed-f013-4b15-934e-70b4a48bbec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1d72137-87bd-4a14-972a-908e3b1996c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67e764ee-bb55-4ea5-a46f-934e6675e52a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5dd9bba-0078-46fd-887d-ccb009dae055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7de5e6ce-6fac-4eee-9373-431a6a357653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/f087cd6e-f584-4774-b0c8-07971fabaf2c DEBUG util.py:445: GET: /v1/allocations/f087cd6e-f584-4774-b0c8-07971fabaf2c {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c49dc04-5cb6-4c41-ab53-c33d4aaa8f51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f087cd6e-f584-4774-b0c8-07971fabaf2c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/52c9e849-317c-419b-af16-143d96951729 DEBUG util.py:445: GET: /v1/allocations/52c9e849-317c-419b-af16-143d96951729 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ea79c67-859c-42ce-bb64-6f4a358212aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 52c9e849-317c-419b-af16-143d96951729 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/dcdd8249-641f-4831-9852-b25cc9bda654 DEBUG util.py:445: PATCH: /v1/allocations/dcdd8249-641f-4831-9852-b25cc9bda654 [{'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-239b58cf-0907-426b-9b06-fdbff833a04e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation dcdd8249-641f-4831-9852-b25cc9bda654 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-46d5f78f-0921-4c6b-80e2-91971a1c2975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b0032be4-f13b-49a3-9cce-47fa7508156a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_observer [0.060349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_139_ports_post_admin [0.106168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.087344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_288_chassis_detail_get_admin [0.076286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.069265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.066253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_observer [0.084128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.074547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_put_admin [0.065483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_observer [0.057803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_member [0.061246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.070552s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_067_nodes_vendor_passthru_methods_get_admin [0.060017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_put_admin [0.070422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_observer [0.067447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_observer [0.106101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_member [0.096321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_observer [0.071108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_observer [0.065414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.081787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_member [0.087352s] ... 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-6a0acb97-3404-42d6-8fb7-6e24ac4d2f74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-cbac9fa4-68e3-4275-a147-4a0341ed3f73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e92f51ac-ba31-4d07-8290-2ed904022564 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e2c19be-7b35-4705-bf71-fcab33337914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-89d07d89-5623-4200-b91e-1803cd1a8f63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-75758c31-54b2-475f-bb34-eaa2d769c223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-64abb587-3aba-4165-a748-9aa3db55212b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-4e155e4d-05b3-4789-9536-b570d07ad971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-83d1747e-2ac4-4e09-b276-ee523c49751d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-64a80a04-862c-4454-8fad-3cdc3078981f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6e064753-3ee7-4be4-ad09-16d812010794 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-1cea8da0-1b45-4387-9d69-08d6059cc8d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-77689067-f4fa-4fcb-bbf5-bdd6163250bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-51bf9430-b563-4802-b160-42fe83c9e5ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_observer [0.066356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.060841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_delete_admin [0.093259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.065160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_160_portgroups_ports_get_admin [0.112766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_observer [0.061379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_112_portgroups_get_admin [0.078099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_114_portgroups_get_observer [0.062222s] ... 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-f0e5c754-6569-4e71-a1c4-99cbe68b9c7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e86ff340-2264-4f39-b326-25a30457bbdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-0bd877bf-77b7-4de9-8291-9342073918b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a95393f2-4fba-4742-91a9-e9936ba6287e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f16775c-b4f7-4d53-b3e2-687b23111b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d871a190-a42d-4ae2-b86c-d8a4016f456d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-75af8eb4-de7b-4b7b-ae08-d4338618392c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0d832165-98c9-4a89-a208-88cac206c195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3010968f-6987-4c51-aac0-854a831762cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f9cd7822-78dc-4e13-a2e9-ff61904b3f35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4c749ffd-8a91-4ed8-9bd1-211dc79ab356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dd14edc2-a102-45e5-a675-fb8761ff209a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c59ec2e0-6078-42e7-90ee-602d6d0cfe11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2ed15477-c004-4b8e-ace7-5b3f4bf8c573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1f1cbbcf-d75f-4797-82fc-376b193dd928 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_observer [0.066971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_member [0.095092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.099256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_observer [0.082103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.249218s] ... 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-e7170d04-c8f1-4695-88fc-4601c663e212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e0c91754-d97d-4b06-94c8-29e4bba83e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-11d8fae7-e0d4-459c-9eda-50b6c93bdfb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34a0227f-85b9-4696-847f-55b675d3939f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ea06175-1b2e-433c-a845-18f9153fabd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11ea68dd-219f-4671-bfd9-301c7dabab68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f1ee2d20-3959-45b6-8841-4d32c6351fd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-ac40437c-f50f-43cf-ab5e-47201f871fed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7c834357-c8e8-49c9-971d-2f34c5d83c6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-d9782623-fbf2-411d-957a-4ebe725601b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-1d05a890-1465-4d86-8c72-0d5fc32ff8a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-d96fb305-3e51-4620-a1da-d36659c46bd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-1eef3d07-cb10-448a-b7c9-0492b98e5f15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a1b873a0-0851-4c98-a487-143082ad28ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_observer [0.072082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_observer [0.061980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_member [0.091291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_detail_get_admin [0.097981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.077755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_member [0.057999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.060523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.083906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.056763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_member [0.061980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.057765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.062663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.075124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_106_nodes_management_indicators_get_admin [0.069229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_138_ports_get_observer [0.067520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.065230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.067667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_observer [0.058740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_member [0.060899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.065698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_109_nodes_management_indicators_component_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_180_volume_volume_connector_id_patch_observer [0.081440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_142_ports_detail_get_admin [0.067137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.075442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_115_portgroups_post_admin [0.066240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.074446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_148_ports_port_id_patch_admin [0.063295s] ... ok 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-19c2982f-534d-407d-ac87-2ba762c6b4e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-429b1075-62eb-4ec2-8ba9-2366e853a683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a62f45cf-e314-446f-b305-f22dd43c5ade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17d556ec-f435-42ca-8145-cad1855ff7fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/296eef23-538d-44b6-a421-4507f1a0513e DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/296eef23-538d-44b6-a421-4507f1a0513e {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95d1dcaa-85cb-432b-87b9-494227b6faa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c5cf5d23-2831-4ed0-960b-96e19c2f0edd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-44bbd97a-1690-4802-8e71-60e9a86f561f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f001ef9e-d3db-47a3-974f-b9c36fe90db8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a6e802bf-b201-4d23-8816-18de4b9dfba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-933a4c8e-ef2b-40a5-8e88-3847ccc3a577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-8801208b-dc43-4812-a444-efd57930e365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3eb027ff-b531-4edc-80c7-769761d6a661 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-fb1644d5-3c9c-4120-9991-edfedab53f32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c7077862-ee8d-43c1-9bbf-889036bbff67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.062098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_member [0.090471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_member [0.081683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_member [0.100186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.072021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_member [0.079420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_observer [0.074308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_observer [0.064186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.071420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.081484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.066256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.079748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_member [0.087520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.082559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_observer [0.068821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_observer [0.233683s] ... 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-efd506b0-9cbc-4534-971b-8167b83e2bdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-d256b85e-6e23-4c49-87fb-56750543e046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e9c45c9e-3f12-4967-a37c-7a59673cf6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4f5ccd3a-0028-432e-a24a-2def68f3dcb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-82d3317f-f937-4f31-90fc-d92491e950a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1c638052-490d-46ab-8638-85387635eaa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e6f7d2ef-1595-4deb-9d2c-0cbc6a67e51a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-abf7d20d-87aa-4251-9a35-9467d4a206aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-d0541bc6-f34a-49dc-91a0-a7098229d68b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ddea3bcc-b14d-49e3-ad8b-089dd0abde1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd50c8bd-cf13-4969-b7a2-5fcbfe4e0e2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfb24bf3-acb6-4429-8f14-915fd1b79ee2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-76f58c8c-d9f6-422c-ba83-5dbb32791786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2e10223a-a3ef-4af7-b582-784722dd0ee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-f5fa1732-a8a1-47c4-8df0-bac463e3426d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_member [0.093279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_member [0.074288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.119650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_member [0.062675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.087154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_172_volume_connectors_post_admin [0.067608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_observer [0.062613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_observer [0.055019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_observer [0.067032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_get_admin [0.067580s] ... 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3220baa8-8f39-4a5b-8192-e2d2d987f346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c08dec04-ddfa-4767-a5d7-670be4e7e3a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-148decb5-c58d-4005-84f6-e5101ff6865a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1e85d1a-829d-4200-881f-630d08b36812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9378fe2-3d50-4863-b08c-daffeb7de698 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-68f4a7b6-6233-4b35-91e9-684bc0e220de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8ebea9fa-f673-4721-970b-570580b32d7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-45a2fc7c-ab8b-4df2-ac76-69fdd912801b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06752b56-3c51-40a5-ad2e-e74a42f18898 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2ad606c7-dc99-4911-a7b0-0b78b9672d5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd7e860c-98c5-4d6b-b0e5-06ec930f2036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c07fa9d6-f31a-413b-b4ad-fb47bea8bf33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7748eb66-1f5d-472d-a8c4-65a067c1a4c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-65a9580c-9f1b-4238-8810-f5d2c228621c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_member [0.064882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_member [0.090691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.078349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.078576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_member [0.069714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_member [0.064025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.068166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.076051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_member [0.067323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_member [0.077374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_targets_get_admin [0.061958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_member [0.065120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.106955s] ... 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-f07e4127-663d-4848-9102-0548713b41b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e35ff59d-fa55-4527-9607-08107428bf42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-44332e05-fb5f-495e-b2c8-477822dbc9e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e3df94f9-e346-474d-921a-96f71a30f5ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-40d1c414-514b-4532-823d-e6dbcab9e871 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-00a84897-9dfa-4e25-85f6-d9ad7c1d51f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-fe66bdb4-42d3-4486-8cd4-fb444d03dba9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-eb77fd4f-7540-4ec6-83c0-19cdf70bb50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/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-224a4157-7a8e-4d4f-af2f-9d93c52b0aff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a6584149-e7ef-45a9-93cc-5bd53844c4ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-fa9ed1ff-e705-40fc-9f2b-a9d14f45e6e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-99464fbc-a1fd-45c5-8ad8-cee60a5eabee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6d3ef48-71c3-4c51-b9ea-72be47ae1ba9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ad871aa2-d438-4da9-8cb0-b31546fc105b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dfc952e3-b7d1-4961-8308-da14f6e95de9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_observer [0.059499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_put_admin [0.064327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_member [0.063402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_member [0.092728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.086428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_member [0.064093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_observer [0.063960s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.064300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.084450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_driver_name_get_admin [0.063757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_member [0.066984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_observer [0.123969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_246_allocations_post_admin [0.080457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_observer [0.064546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_214_drivers_properties_get_admin [0.068540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_member [0.054483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.065008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_observer [0.062398s] ... 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-6ce62240-ed40-4639-80cf-e7d57c249050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-0ad666c9-c9e7-4ad2-8201-6252bd4ce1dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-664fd84b-8f12-49f4-9ce0-9593933aa2d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-306b3c46-db62-43b8-806a-9591b3c170be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6d32347b-3e6a-4e2b-ad7f-c95d4c388a9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a3125448-4c9f-4e82-8c3a-0dff2a0d59a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-2759c1a0-ddcd-414d-b346-da3e74749720 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-84e6dbbd-309f-403e-a178-8b0b8801217a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-53b0f8d8-3ff2-42b8-8507-b432da71a541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-9ba81412-f133-4628-bf0c-e74cd1323926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-deb2d9a5-d04e-4123-9160-e44189f5ba90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-0caa492e-4acb-40dc-9e11-1edeaf433a6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-ee2c9a79-1e41-476a-ac16-14fb7e0342dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-70a3dd89-8848-41ba-b8c8-5fbcf79cfc5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_observer [0.091897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_observer [0.075929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_post_admin [0.073993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.087497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.097952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_210_drivers_get_observer [0.055507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_node_vif_ident_delete_admin [0.058652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.060814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.055325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_211_drivers_driver_name_get_admin [0.069395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_observer [0.061027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_observer [0.082772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_118_portgroups_detail_get_admin [0.058293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_observer [0.067872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.092050s] ... 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-edf773b4-dd0c-4beb-96c3-ea343ba9af52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-20b0edb0-fc23-4cfc-a15e-cf26b1ee8c7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7b7c76e3-b593-4717-813b-6642771d0ad2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-af28be67-0c98-492b-9bb6-71920021c16f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6e37aeff-37a0-4b63-8326-c3a11b75cf83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-67ec3ad7-a098-46b0-8d06-49d0c29f05de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c07acd3-6986-4cd7-9ccb-d62459ac4ee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6d107fd7-2645-47dc-b3cb-28d25a6fa61c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-58f5aeb0-b247-4f97-9349-3211bd908672 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa47019d-029b-4c53-a4ad-ed2c0086cf34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fc627da-3e3c-47f4-83b1-56cc267d0d34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84d24218-19dc-4f43-bf88-e9d97b73e46a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39947643-b176-46a4-999a-8ad93a5b54d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47c98ee1-2c89-4f7c-9532-e3b8812b0312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_member [0.059255s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_vendor_passthru_methods_get_admin [0.098553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_member [0.102861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_observer [0.071115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.074503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_member [0.063829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_member [0.070557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_observer [0.062712s] ... 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-c75ac65e-d5a8-4a23-81e5-d5b26c0b6219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb902ef8-dcd6-4e9d-952f-49b31f896be9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ad2be44-4985-40d4-b9bd-4f03cd7a2ff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48a3660c-565b-43ff-946e-2e7f79bc92ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ff16f7a-6a46-401a-843f-29cf3f22fd2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6584187a-7952-44b6-97c6-1ccba04fa4a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-c28277bb-82aa-42ff-9377-9cd062480d31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/d8ff62a6-2bbf-48f7-bf05-f7a9c319d9af DEBUG util.py:445: GET: /v1/allocations/d8ff62a6-2bbf-48f7-bf05-f7a9c319d9af {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c2ab776-4ee7-4534-bc04-b293b00bd709 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d8ff62a6-2bbf-48f7-bf05-f7a9c319d9af could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/754e16d9-fdd6-4869-aa0d-d6dc9d243f81 DEBUG util.py:445: DELETE: /v1/allocations/754e16d9-fdd6-4869-aa0d-d6dc9d243f81 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d109d81-6d6e-4fe0-8e5c-5845614a1ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 754e16d9-fdd6-4869-aa0d-d6dc9d243f81 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/aa2db4b5-3a0d-4dc0-bb36-12cd40eda3c9 DEBUG util.py:445: DELETE: /v1/allocations/aa2db4b5-3a0d-4dc0-bb36-12cd40eda3c9 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f695e04-69be-41bb-ab80-adc6f9739c38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation aa2db4b5-3a0d-4dc0-bb36-12cd40eda3c9 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-746fc13a-9c61-4d3f-ac2a-2401e00583d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/e7604d3f-ebbe-47ad-a4f7-f4b4dff7bd20 DEBUG util.py:445: GET: /v1/deploy_templates/e7604d3f-ebbe-47ad-a4f7-f4b4dff7bd20 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0efe2443-2d08-481a-9a99-9923ccd8e9cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/3f2d015d-a33d-419b-8b96-9b0bcc1a2875 DEBUG util.py:445: GET: /v1/deploy_templates/3f2d015d-a33d-419b-8b96-9b0bcc1a2875 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-402caab2-788c-4d1e-a4f7-a1363f4fa446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/71ec811a-c5ec-440b-b832-9f520e6cf082 DEBUG util.py:445: PATCH: /v1/deploy_templates/71ec811a-c5ec-440b-b832-9f520e6cf082 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.080064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_member [0.102595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.066581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_member [0.067234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_130_nodes_portgroups_get_admin [0.075053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.250444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.080155s] ... 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-87a0ae73-8a7a-4f8a-acd4-db2d2f69e870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-8a09076a-1eb7-422d-82fd-92487ad6ad8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-aee62cc5-5114-46c0-99b8-17688c5d239f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e461ad2d-82eb-43d4-809d-37a70e1304e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-94d1a4dd-9bf8-45f5-9f82-35b9b76f82bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d7ab69cc-bca0-4324-92f9-c1be3df44ad7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-699a4dd9-2386-403d-a1c3-c2bac5f45d9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-12ad8269-edaa-4295-ad33-33404a511b56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88a64c14-9ad2-4798-941f-afcac71c8792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a932048-4932-4385-ab6c-925daf10755a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/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-77000149-9afd-44dc-98bb-ab526128f6d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6d7986f-4b3d-4d91-8b7b-42d7469c571e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-035e5785-5f14-4fd1-86a8-347ddafa9404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c17b5b4c-2f05-4356-b596-f72215195568 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_observer [0.064714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_member [0.059481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_member [0.071639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_member [0.092961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_member [0.094728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_patch_admin [0.064084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_observer [0.075292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_observer [0.063636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_get_admin [0.064721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_observer [0.061560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.058995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_post_admin [0.069959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_observer [0.084205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_delete_admin [0.068512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.081090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_143_ports_detail_get_member [0.092350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_deploy_templates_post_admin [0.059722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.077684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_261_nodes_allocation_get_admin [0.071915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_observer [0.057306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_144_ports_detail_get_observer [0.073068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.056853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_member [0.080331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_patch_admin [0.070710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_145_ports_port_id_get_admin [0.080479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_member [0.078451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_member [0.058312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_observer [0.063630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_303_node_history_get_entry_admin [0.068444s] ... 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-95f07b31-d2a6-4e65-a505-c3535326248a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-37c23d2a-0177-48ce-a0c7-cf34e1736c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-d5eb4f9b-75c7-48e1-ae12-ca01ee9709e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6fc9b67e-9451-4ad2-89b3-e409fe0ada3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-26fb05ab-c7c9-469b-9b62-e12c0e5d9923 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-87a32892-21a5-410d-aed7-ccb92c2258dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e1a9a923-b323-4809-b8db-b9cdc5587466 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6e57a691-7e2c-42b2-9251-8476206de58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a008098d-7b86-40b6-8c2e-fd81888fe72a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-67577e12-808e-4864-ba0d-bfb80ef1907e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-3133b678-9dc6-42e0-8d71-189618897eeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3c76b01e-a63a-496a-8cd6-215e33a95d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fdeb324a-72e2-4153-bb66-074313aaa2d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3f92e02d-111e-43c3-9822-f79688e272eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-76ea9185-c92f-4466-a552-d2219bf0d252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_delete_admin [0.064192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_member [0.077935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_detail_get_admin [0.078119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_observer [0.101987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_member [0.054477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_observer [0.059927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_member [0.068016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_observer [0.063850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.089953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_portgroups_ports_get_admin [0.076328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.063442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_member [0.065913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.077206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_connectors_get_admin [0.060442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.065776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.083045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_volume_connector_id_get_admin [0.074031s] ... 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-951aaf0a-2045-47f7-a41f-82b76351da14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-9c93c665-2bd3-4b2d-bd13-aee22c22d893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/34bbd5fd-c2a3-4191-bfc3-6050576936c5 DEBUG util.py:445: PATCH: /v1/allocations/34bbd5fd-c2a3-4191-bfc3-6050576936c5 [{'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-aca6ac7a-199f-421c-99b2-55ddbca315d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 34bbd5fd-c2a3-4191-bfc3-6050576936c5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/65405291-4b79-4f11-af16-b535ffb64ecf DEBUG util.py:445: DELETE: /v1/allocations/65405291-4b79-4f11-af16-b535ffb64ecf DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3af4ec47-c80c-4bf9-97e1-bfa14ea7f108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 65405291-4b79-4f11-af16-b535ffb64ecf 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-e905b7fd-2ab8-483b-8e81-ed9e73939054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-180f7f81-50c4-4942-8980-f718b492c26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/26bdb3f4-f056-4f5f-98b4-55c59b91692b DEBUG util.py:445: GET: /v1/deploy_templates/26bdb3f4-f056-4f5f-98b4-55c59b91692b {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13bf8ca9-b5c1-4a70-baac-18d85f9b8b35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/6f0d9f90-2d68-4ab3-9401-9d557fa7f5b4 DEBUG util.py:445: PATCH: /v1/deploy_templates/6f0d9f90-2d68-4ab3-9401-9d557fa7f5b4 [{'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-80cff49b-72c2-4a8d-baa3-dfaf59bf167b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/1d1211d4-773d-4e96-941d-10249e3fb724 DEBUG util.py:445: DELETE: /v1/deploy_templates/1d1211d4-773d-4e96-941d-10249e3fb724 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f4b339c-df1c-49b1-bca5-fdc9a9eb12b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-406541df-4568-4202-897b-b151226bd5ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/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-b33e6309-bba1-4e40-a514-65d2a4d617e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12d75796-6759-4a39-82c7-c311f942656f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4ca05465-32e6-4fc8-9410-6e06ed386cdd DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4ca05465-32e6-4fc8-9410-6e06ed386cdd {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce541e04-dbbb-4e1d-b215-cc746dfe087c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_004_nodes_post_reader [0.105555s] ... 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-6a0a43fb-d624-4323-b005-a88c41584a6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-fc4405dc-bfac-4fe6-8af3-a39370975b8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-1473cb4d-143e-4667-8c3e-87efa60fee36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-ad202bb5-43c8-4854-af47-b0fcd6c49cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-065e2b85-507a-4636-bef4-a1a4e0d67b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/f91d69c5-1350-498b-bb08-cbdbb0bf6145 DEBUG util.py:445: PATCH: /v1/allocations/f91d69c5-1350-498b-bb08-cbdbb0bf6145 [{'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-47a3e398-ec65-4286-a250-29f6d5af12f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f91d69c5-1350-498b-bb08-cbdbb0bf6145 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/4c554a5b-57a5-4cde-8f47-261cded6a989 DEBUG util.py:445: DELETE: /v1/allocations/4c554a5b-57a5-4cde-8f47-261cded6a989 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60ec7078-f96e-48ec-8a92-a62cc5366b68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4c554a5b-57a5-4cde-8f47-261cded6a989 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-ef0781f9-e1c5-4c55-86f3-4bde8fc447bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-31c8ed9b-6708-4e4f-8c63-061b061ae61a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a9eb6d50-6a26-4c20-bdd8-34e86f29ecde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-efdff1cc-70c4-4a1c-b615-fa7e488ccedf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28996c88-a550-4eac-b3c7-fc72588ac617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/f488e758-d9eb-45d1-b063-fd0f5dbba237 DEBUG util.py:445: GET: /v1/deploy_templates/f488e758-d9eb-45d1-b063-fd0f5dbba237 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd1a2cf2-572b-4ade-802c-12378321f0f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/e99b06bd-08e0-4abb-bac1-54f6a530ae54 DEBUG util.py:445: DELETE: /v1/deploy_templates/e99b06bd-08e0-4abb-bac1-54f6a530ae54 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51fb8625-f3f4-475e-8ff4-394d815ed717 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_282_chassis_post_admin [0.065803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_member [0.095317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.101945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_009_nodes_get_admin [0.075821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_member [0.151230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_member [0.068240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_validate_get_member [0.063118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_observer [0.056425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_member [0.098251s] ... 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-785e0dd6-9028-4b6f-afab-3018378e1f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/1a04adec-cc2c-4820-8b08-7c3f0dfa0aa7 DEBUG util.py:445: DELETE: /v1/deploy_templates/1a04adec-cc2c-4820-8b08-7c3f0dfa0aa7 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94125294-82cb-48fc-a603-729a3a7b27da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/2d281a19-6bdf-4c01-9dc2-3f077c410b46 DEBUG util.py:445: DELETE: /v1/deploy_templates/2d281a19-6bdf-4c01-9dc2-3f077c410b46 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa53ed9a-7775-4612-a48c-e6d9e3e424a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5eaaf06-e61d-440f-9089-86175c77b8ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de0cc4cb-d908-4890-9d9c-8c0f3a99d65b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04dc59e0-a680-4281-b253-f0e85e19f1ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c919daa-bc58-4fe2-9c2d-bed611c3377a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-b75783e2-0544-49d8-8863-91221a2470f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd2a4958-c21f-4d44-aaf1-9be27cac5e15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/81242c44-fde0-4ee5-8bfc-3b1e255e4d55 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/81242c44-fde0-4ee5-8bfc-3b1e255e4d55 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcf8e44a-7d36-4540-b7c4-3aed7526b12b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f69fb60b-627c-467a-ade4-b0fca58e7da9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-5bef7b22-68ee-4508-b5d1-116dff550847 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae7a87a2-f24d-43d6-919a-2decda3f84d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-35bc4dca-1e4d-4263-9b57-946fb6200fce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.120333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_029_nodes_maintenance_put_member [0.070817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.077491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_observer [0.112556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_management_boot_device_put_admin [0.061878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_300_node_history_get_admin [0.095419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.068627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_observer [0.063003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_038_nodes_management_boot_device_get_member [0.062993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_observer [0.070297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.070607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_raid_logical_disk_properties_get_admin [0.069399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.066280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.098725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_member [0.056704s] ... 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-6c04b316-d551-40c1-be83-d6602eaee0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6c04b316-d551-40c1-be83-d6602eaee0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3e11757-809d-45bd-840d-e265804e8f01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "813abbfa-ccc8-4d43-a1ac-ba77466f4249", "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-c3e11757-809d-45bd-840d-e265804e8f01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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": "813abbfa-ccc8-4d43-a1ac-ba77466f4249", "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/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-279928ec-9359-48a0-aee4-5a962311d9a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-279928ec-9359-48a0-aee4-5a962311d9a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-117b235a-4a85-4750-b482-9cfc4748051f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-117b235a-4a85-4750-b482-9cfc4748051f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-bacec986-e69e-498c-83e5-ca5beb70e507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bacec986-e69e-498c-83e5-ca5beb70e507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-58538304-b5d7-477f-a9ca-e895af41f95d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58538304-b5d7-477f-a9ca-e895af41f95d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-818212bc-fbdf-44ec-af00-cac83224b671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_040_nodes_management_boot_device_supported_get_admin [0.070306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_states_get_admin [0.058190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.067069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_observer [0.057240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_055_nodes_states_secure_boot_put_admin [0.057759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.075650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_063_nodes_states_raid_put_reader [0.067346s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.070117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.109793s] ... 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-31db4f00-5733-4bbe-9cf8-a28e8abf6831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-728f34c0-9ff3-4b28-83ec-31adf335dd15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-6363efe4-3ce6-43be-802e-4ba691f42a58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-09f59b00-b8fe-4820-84a8-1776eb518ee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a12f3dd-c5de-46ef-90ef-774b141a84ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5932c558-59b7-4055-9eee-f544f358466a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6c7d1a4d-2f23-4595-96b5-e8a1216e3b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3b0cef90-caff-42f9-ad71-518b32e86c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d1002558-e0ef-457a-bdeb-69b34d7b3786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/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-a567361a-aced-4d47-8bb1-c075d4478466 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-983a7396-0e66-41ef-96cc-607c0ee599dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc5f00aa-5037-4c0e-b660-ab1bcc8ae28b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59f73a17-d98a-4d0c-ab6f-85abfc20b538 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-055a519a-6b08-49db-97dd-8798a1d89c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_observer [0.067421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_member [0.071386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_074_nodes_vendor_passthru_get_reader [0.076772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.083964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.087648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_member [0.066772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_vendor_passthru_delete_reader [0.076343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.064235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.059006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_247_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.TestRBACScopedRequests.test_system_scoped_086_nodes_traits_get_reader [0.062914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.078826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.076072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_248_allocations_post_observer [0.063408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_traits_put_reader [0.066423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.059702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_member [0.060647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.086209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.062561s] ... 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-818212bc-fbdf-44ec-af00-cac83224b671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3366068d-026f-4813-96ce-69e271fdfc53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3366068d-026f-4813-96ce-69e271fdfc53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef4b595a-91c5-4940-9f6c-d45636ebce1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef4b595a-91c5-4940-9f6c-d45636ebce1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-185867dd-51a9-4feb-b803-e7d48c5bbda4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-185867dd-51a9-4feb-b803-e7d48c5bbda4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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?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-4a349513-86fb-4299-bdd2-729b8eb7eeb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4a349513-86fb-4299-bdd2-729b8eb7eeb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8697fcae-6df1-4c0d-9041-4bc2944b8c18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8697fcae-6df1-4c0d-9041-4bc2944b8c18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f4e533a9-8fac-4f9a-a78e-9f92b671aabe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f4e533a9-8fac-4f9a-a78e-9f92b671aabe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e12b4e2-c773-4d23-abc4-9ba17e30e5f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e12b4e2-c773-4d23-abc4-9ba17e30e5f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4f85c30-90af-4c05-b14d-bb352094888a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_traits_trait_put_admin [0.071419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_observer [0.093018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_traits_trait_put_member [0.069145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_member [0.095488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.102949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_096_nodes_traits_trait_delete_admin [0.073684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_261_nodes_allocation_get_admin [0.112156s] ... 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-8efcef3e-b4e2-4f91-b540-038020a116a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfd4d392-6b5c-42de-a9bf-a427a4debd0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-682a00a2-d254-4d6a-a123-b444d7d71455 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cecbb485-635b-4774-b23d-d39cc1f2fde9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/25400a9f-dd63-42be-87c5-bf83b48cf317 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/25400a9f-dd63-42be-87c5-bf83b48cf317 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53ad27ef-1420-467b-b038-20799218c0ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6f58ee5-2521-4917-ae41-eabb9cb870a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dc869b85-2f43-49d8-befd-9dc052548f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-90015872-cbd0-46d3-b085-ab380bad7141 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-53f8f654-3eb4-4cf0-85a0-6d3c3da92011 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-ee1837f3-a4b9-44d6-b82a-83510e2614c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-99c992d0-ddd4-427e-baff-95f5493bddd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-2f4f78f9-a6b1-45b9-b4c8-283ac30669a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-e2580507-9633-46bc-9e0f-220f906f1c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-374f0991-f13b-4df7-bf9d-d3d908e98ce7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.059965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.078187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_097_nodes_traits_trait_delete_member [0.125832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_member [0.120173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.071485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_observer [0.270421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.058450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_observer [0.131727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_105_nodes_vifs_node_vif_ident_delete_admin [0.142696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_post_admin [0.077036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.058901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.059567s] ... 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-4d0b527c-0f0d-4ca7-ad5f-f151a15d239f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3134ad8d-eff5-4813-8cc9-072822e22820 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-65ce4ff1-1f8c-438e-89cf-72037215ec1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-ba506541-c2ac-4e3d-8aa1-f9a7f8abe5d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-900a8e21-d3de-436d-9f9e-1f315bc65386 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6b59f30d-8842-4c41-b561-a9d52dc9e2d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-b2550704-e254-4f58-9b31-85cd5883c92c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d979bbd2-f46f-4b67-9df5-7479c695c452 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce17c8b0-ec3e-409a-b7a5-953c4c02e22f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-cb094db7-5b72-4785-bc8a-3c666bfdd998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-140ade99-8819-445d-8e7a-9f073d0277d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-cd8860f8-32f1-4765-9ff9-1d00d76c2eeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-9d998a5e-4ad0-476c-ada7-7a259cb8585a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-08c220ba-7688-410f-a95d-8df9f73c9dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_put_admin [0.058774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_member [0.113263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_107_nodes_vifs_node_vif_ident_delete_reader [0.127598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_member [0.059546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.063785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_observer [0.059982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.058657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_delete_admin [0.099727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_delete_admin [0.060222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_portgroups_post_member [0.124027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_member [0.059093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_observer [0.058068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_observer [0.068311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_082_nodes_traits_get_admin [0.062646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_member [0.072864s] ... 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-f4f85c30-90af-4c05-b14d-bb352094888a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e5d365e-1937-4d20-a241-45da6e972a7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e5d365e-1937-4d20-a241-45da6e972a7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a13caad1-79e0-4a0d-aa93-46b814ea542b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a13caad1-79e0-4a0d-aa93-46b814ea542b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2b012e34-3344-49fd-bf65-c016185bf551 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b012e34-3344-49fd-bf65-c016185bf551 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a9ba713d-b2d9-4044-9d65-72e570fb8c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9ba713d-b2d9-4044-9d65-72e570fb8c9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06ad3024-60d2-413d-a27c-49a4910efa93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06ad3024-60d2-413d-a27c-49a4910efa93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-24e03507-4715-4ebd-ae40-f07269c6cd79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-24e03507-4715-4ebd-ae40-f07269c6cd79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f292c65f-6b6b-4e36-a133-4a958417079a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:52.826559+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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_portgroups_detail_get_reader [0.075106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_member [0.064695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_delete_admin [0.071135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_member [0.059133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_portgroups_portgroup_ident_get_member [0.110489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_observer [0.086271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_member [0.099357s] ... 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-74527153-ff9e-4383-b76c-db404044b171 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae80786c-0bd6-45fd-a940-02fc6f4d1fbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-8f0cbf05-1918-445d-b988-24d7a1d1e144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39b38be5-a067-4396-bfab-9883788bb026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/d1d5b349-6422-4148-8ce4-ec243e278477 DEBUG util.py:445: GET: /v1/allocations/d1d5b349-6422-4148-8ce4-ec243e278477 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-274cdc4d-c2ca-4c79-b459-b1321b9e91c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d1d5b349-6422-4148-8ce4-ec243e278477 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/468d0ab3-0977-4b48-9887-899464bf1631 DEBUG util.py:445: GET: /v1/allocations/468d0ab3-0977-4b48-9887-899464bf1631 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-251472bd-8263-4f81-b377-dc2adf450066 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 468d0ab3-0977-4b48-9887-899464bf1631 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-79367124-c300-49d1-863f-757d1eaa9e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ed531277-9bb1-4032-8793-89360eed7754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa24f72e-54b3-4e03-84fa-ee2be3e2270b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/8f7aae4a-371a-4d6c-8576-0b9bac1758bd DEBUG util.py:445: GET: /v1/deploy_templates/8f7aae4a-371a-4d6c-8576-0b9bac1758bd {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c22f048e-4ad8-47ab-a476-a97a313b7ac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/7ffd4553-1969-4aa6-a670-f50e4097b653 DEBUG util.py:445: DELETE: /v1/deploy_templates/7ffd4553-1969-4aa6-a670-f50e4097b653 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-485d537b-659c-4b0f-9324-da9276d0e4f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/650fa93c-e4fa-4944-99c3-72a03d603b5e DEBUG util.py:445: DELETE: /v1/deploy_templates/650fa93c-e4fa-4944-99c3-72a03d603b5e DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1e0a0fa-a6c1-4c56-a29e-105ebbf056a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-aa92c84b-c677-4d0e-adfb-f2dbd0627f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc5d9b2f-cfae-4420-8952-b2cae812e1a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_291_chassis_chassis_id_get_admin [0.072090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_123_portgroups_portgroup_ident_get_reader [0.106517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_trait_put_admin [0.087809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_observer [0.074931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_observer [0.086924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_097_nodes_vifs_get_admin [0.071051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_112_portgroups_get_admin [0.068224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_portgroups_portgroup_ident_patch_member [0.148480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_member [0.139103s] ... 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-f15678f9-c4de-4d6f-8a9e-abe94239816b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-177d5dc0-565c-41b3-bb7f-663dd739bc81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3bb8e251-39eb-4d02-8810-2b4252ddf639 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-b3582f71-46c2-413a-985f-6ad475412bfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-53c54005-afaa-48a6-9573-a22a7cdb93ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-8596af44-0611-4bc5-92a1-90010f47bff6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f84ae88b-ca2e-48c6-890a-36e22706ab97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-473946da-a9ae-4ddc-8639-e65f3ad8955e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-13a22186-3dad-43cf-ae58-5942c7cfa3e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-1b6739ac-cfce-44fa-8132-b9d490c29e12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-00746229-62b6-41fc-9039-3a1f8b3121c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-fda8994f-65f5-40cc-a7b5-26b1a7abf684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-3e554d4e-a55c-4843-8971-594bd6eaf059 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-6e427e9c-1ca8-457a-823e-49e0fde90783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_member [0.061970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_member [0.055385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_member [0.061761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_114_portgroups_get_observer [0.058556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_observer [0.054782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_observer [0.053817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_portgroups_portgroup_ident_patch_reader [0.173524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_member [0.057820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_portgroup_ident_get_admin [0.063634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_111_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_scoped_canary_124_portgroups_portgroup_ident_patch_admin [0.070653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_observer [0.059624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_detail_get_admin [0.075254s] ... 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-f292c65f-6b6b-4e36-a133-4a958417079a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:52.826559+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-07e5a118-ddf4-45a5-849e-f22c9eb919c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:52.940849+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-07e5a118-ddf4-45a5-849e-f22c9eb919c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:52.940849+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-db13d1b5-9a05-49f0-8029-c01787b041f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:53.007531+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-db13d1b5-9a05-49f0-8029-c01787b041f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:53.007531+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-367cbff4-9c1f-48ec-bcfc-3914393da784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-367cbff4-9c1f-48ec-bcfc-3914393da784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-619719d9-0846-4f5d-ba8e-559704ed0018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-619719d9-0846-4f5d-ba8e-559704ed0018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-2d6bf996-12a7-4108-b452-8fdfae723934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_nodes_portgroups_get_member [0.146755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_member [0.081828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_observer [0.082588s] ... ok 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-2d87a8ab-19cc-44f6-af74-74fe4dc4f5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-419303fd-9848-4525-b433-f284917d4c9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-b9da45ea-0ae6-4a6a-af3c-b45c8c7a5e3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-a0b88480-b6a2-4f04-88e4-c46942c05ffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-b5a4225d-d9f9-4f4b-a6f1-f48297d4dda4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-8f8f5b7a-a818-4cdb-8e85-633044a89eb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6f13a097-8ac6-4d9f-9803-7253097f9436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-f9517b94-10c3-46b3-8e73-5f196d423cac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-916c29c6-e7d1-494a-9e23-c720f7fdae05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-27330ab1-7668-4846-b800-525390d10d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-34df6265-878b-46e8-8c60-715d5c36b708 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-88ede376-420e-4b59-840e-0f41573ba6fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73e17a13-0578-4f79-a377-b8e44622e64a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f7b4fd81-01a1-4303-aa4f-3ba02123bde1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-65985047-5c73-4019-a60d-654da1bc397d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_ports_get_admin [0.069134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_300_node_history_get_admin [0.477552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_140_ports_post_member [0.062896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_delete_admin [0.055052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_observer [0.069258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_observer [0.061872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_detail_get_admin [0.053793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_observer [0.061142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_003_nodes_post_member [0.179938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_nodes_ports_get_admin [0.068127s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_observer [0.074123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_member [0.061870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_patch_admin [0.069371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_nodes_portgroups_detail_get_admin [0.464399s] ... 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-26620f2c-abb5-45e3-98b3-ece472457966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-018add2b-00f9-43d3-8620-5c3f04e206be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b42c22e7-5765-4267-b969-2d408579c17a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd34818d-b7f6-4c38-841d-b00b9a65754d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1590dba0-9584-41a6-8571-0e29fc6efaac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1590dba0-9584-41a6-8571-0e29fc6efaac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5c61a801-3838-47b1-8a8d-0f24a7c2a649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:53.941605+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_006_nodes_get_node_member [0.127156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_observer [0.080796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_member [0.081858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_ports_detail_get_admin [0.110719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_member [0.057804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_observer [0.068834s] ... 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-5c61a801-3838-47b1-8a8d-0f24a7c2a649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:53.941605+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27f3d526-191f-411f-84c7-4c81c2a41b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.075869+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_007_nodes_get_node_reader [0.119462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_ports_port_id_get_admin [0.067275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_volume_get_admin [0.082861s] ... 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-ac52b93f-204d-4949-8046-664aaa3ca611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-585a7a99-da0f-41a5-85e8-7a68e3db5ce8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_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-6b82d9b2-242b-4ac7-b3a8-52699275c449 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-83e8ad79-03dc-4434-9e9b-30185b8e6b15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16e78572-718a-4d3d-ae39-2596f21bf183 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ba1f6936-7f92-44c9-8388-c2316e28876b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-543fd30e-9d82-4529-9d31-5e16c564b482 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5a37e709-8fed-4023-936c-049b16f17c0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1a512485-b8f7-47da-8356-467cf9a2d38c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-82020a5c-ddd0-461b-ab13-05da85011f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cd4a2f6c-ea9f-4808-ba66-e3fac9a29e47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d0b0d157-a73e-4cc2-8e7f-ed9e96f89bda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-28e61888-70c3-49b8-afda-2d04aee36b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9b8401bd-3c52-4f38-8f24-7bda902ea582 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_detail_get_admin [0.063770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_member [0.058451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_member [0.063209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_010_nodes_get_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d6bf996-12a7-4108-b452-8fdfae723934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ea7cd2c2-5ade-48b3-b25b-7a78cecb063a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:53.633763+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-ea7cd2c2-5ade-48b3-b25b-7a78cecb063a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:53.633763+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/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-436354fc-55d0-4873-89af-241f64975e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.079397+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-436354fc-55d0-4873-89af-241f64975e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.079397+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-95b962f1-615a-495a-8d7c-b63947869007 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.155639+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-95b962f1-615a-495a-8d7c-b63947869007 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.155639+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-720eb46a-2066-476c-b016-701f11369362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.228551+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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_ports_port_id_get_reader [0.071010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_ports_get_reader [0.076748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_observer [0.067938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_observer [0.082216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_ports_detail_get_admin [0.072272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_observer [0.068894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_172_volume_connectors_post_admin [0.094831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_observer [0.068969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_member [0.064131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_portgroups_ports_get_admin [0.087850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_184_volume_targets_get_admin [0.053449s] ... 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-27f3d526-191f-411f-84c7-4c81c2a41b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.075869+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0999a68a-1982-4a98-b827-a714878dde36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.362800+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:54.365580+00:00", "updated_at": "2023-04-19T16:15:54.369103+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "88db73a3-c829-4a2f-800b-2da3aae02629", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "88db73a3-c829-4a2f-800b-2da3aae02629", "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-04-19T16:15:54.392218+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0999a68a-1982-4a98-b827-a714878dde36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.362800+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:54.365580+00:00", "updated_at": "2023-04-19T16:15:54.369103+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "88db73a3-c829-4a2f-800b-2da3aae02629", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "88db73a3-c829-4a2f-800b-2da3aae02629", "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-04-19T16:15:54.392218+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_011_nodes_detail_get_admin [0.134157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_volume_get_reader [0.058113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_node_ident_get_admin [0.135747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_observer [0.073254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_post_admin [0.083292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_175_volume_volume_connector_id_get_admin [0.070532s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_patch_admin [0.066650s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_system_admin_can_patch_chassis [0.105834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_member [0.082538s] ... 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-a57c5018-b631-4ded-8cf2-730effbf8ea9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1551f13f-9203-404f-be73-2e0a8b817a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b475b4d1-96f0-43fd-9af3-cfb77bb0a8aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-b308774e-e0ba-47df-b24d-420f7247c8fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d0a258e1-7b91-43df-8f31-2e77d0f12740 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-98a3621a-0cf6-4cf4-bba4-afc8992fde79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4385458b-2213-4c85-9952-a763fd94f31c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b8dcfd76-d26b-4d03-a762-e6385ee9ba15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7a8500ce-a3eb-40d3-82dc-959ead85db49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e245ae08-e463-4636-b7bf-43ddc87ef5b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-54f454c2-c057-460d-b982-29d933629f9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a38dfa3d-f892-4de8-9e0a-f9fceddf081d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9bbab4e-bae4-4648-ba64-8c68c33ad07d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c2d4f12a-567c-4ff0-ae6e-1f483ab551ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dcfdb0da-5902-475f-b821-550145c137d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_observer [0.067984s] ... 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-720eb46a-2066-476c-b016-701f11369362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.228551+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-2559b3e0-1285-415b-b115-5f222bf1ec03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2559b3e0-1285-415b-b115-5f222bf1ec03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d6644a68-a5d3-4ba6-9a75-747a46a2b906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.376392+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-d6644a68-a5d3-4ba6-9a75-747a46a2b906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.376392+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-1e5ebd9e-5017-42c5-86f5-88ef18a49e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1e5ebd9e-5017-42c5-86f5-88ef18a49e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d8972fe9-d102-49fb-a566-0c9e2c61caaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d8972fe9-d102-49fb-a566-0c9e2c61caaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fe63390-5623-4efa-b5b3-ba3ce5b59295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.603089+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-9fe63390-5623-4efa-b5b3-ba3ce5b59295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.603089+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/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_176_volume_volume_connector_id_get_member [0.062901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_181_volume_volume_connector_id_delete_admin [0.074766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_delete_admin [0.068564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_member [0.103332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_186_volume_targets_get_reader [0.070910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_nodes_validate_get_admin [0.155153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_observer [0.064270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_185_volume_targets_get_member [0.109345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_193_volume_volume_target_id_patch_admin [0.067052s] ... 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-032cf4a0-aac9-418f-a60b-8b802f41e5b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.506589+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-032cf4a0-aac9-418f-a60b-8b802f41e5b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:54.506589+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/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-5c9e7962-ae8c-488f-a1ab-88cd6b5a8ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c9e7962-ae8c-488f-a1ab-88cd6b5a8ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-454a703d-e526-4d32-ad9b-e45ced390758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-454a703d-e526-4d32-ad9b-e45ced390758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_validate_get_reader [0.066612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_member [0.070919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_196_volume_volume_target_id_delete_member [0.068748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_maintenance_put_admin [0.107058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_199_nodes_volume_get_member [0.069825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_041_nodes_management_boot_device_supported_get_member [0.065236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_observer [0.116747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_199_nodes_volume_get_admin [0.225884s] ... 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-d66afdbb-1b04-41dd-9680-395b1b370166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.670323+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-d66afdbb-1b04-41dd-9680-395b1b370166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:54.670323+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-31704f5f-8473-427f-b9e7-aaa3b87a7735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31704f5f-8473-427f-b9e7-aaa3b87a7735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3e3f486c-b0ed-4f37-b82a-505f19194c09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3e3f486c-b0ed-4f37-b82a-505f19194c09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-1f315130-5138-4519-b91b-3c89b793c3c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f315130-5138-4519-b91b-3c89b793c3c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a891f7d-4a09-4550-b9b4-d1efea02701e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a891f7d-4a09-4550-b9b4-d1efea02701e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-99264ad6-5fae-4813-b8b7-5b02150b1a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-99264ad6-5fae-4813-b8b7-5b02150b1a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_nodes_volume_connectors_get_admin [0.074617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_member [0.070868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_190_volume_volume_target_id_get_admin [0.096774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_states_get_reader [0.110882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_202_nodes_volume_connectors_get_member [0.079415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_targets_get_admin [0.062686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_patch_admin [0.071886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_states_power_put_admin [0.061602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_nodes_volume_targets_get_admin [0.071894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_member [0.062995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_delete_admin [0.078739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_050_nodes_states_power_put_member [0.080988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_nodes_volume_targets_get_member [0.074988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_214_drivers_properties_get_admin [0.068854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_member [0.069472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_secure_boot_put_reader [0.069670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_206_nodes_volume_targets_get_reader [0.074028s] ... 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-f2c4d48f-f0e9-4700-bfcb-374be0e41299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d5e3ad51-f93c-4aa6-ae90-45facd54f142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1c4a4d3e-119c-4745-b496-116bbc188643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75fb6c68-60ab-49e5-8408-d9386c3b7740 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-40a3d59e-ce90-4baa-9177-7413c70de2fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a6c5e873-e11b-4076-99d8-0c8c626959b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-390a071d-77e9-4835-a65f-a5e71c81bd16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0bb8e431-126f-4f87-95cd-4d7a8d5d45cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-801bb4ac-96c4-43eb-8c00-13febf2d7129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0172e09f-a2f6-4314-883f-d73883f58ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-002df736-e20d-4807-99df-a6d24f32504b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e58d1b08-0a82-466b-a02b-0a13da534983 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-be8c6648-5898-4949-befd-9385c1eb75ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-e7639d9f-0b8d-4330-ada4-aa889899cdc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-457a36d2-e304-4adc-a422-db5b5882272a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_observer [0.066827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_observer [0.083425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_062_nodes_states_raid_put_member [0.090202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_get_admin [0.072229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_218_drivers_raid_logical_disk_properties_get_reader [0.090733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_member [0.067880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_connectors_get_admin [0.096862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_put_admin [0.058368s] ... 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-638b7799-e002-4dbb-bd06-9a290758d537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-638b7799-e002-4dbb-bd06-9a290758d537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efc044b9-0bc3-4b15-9cda-07397569f403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-efc044b9-0bc3-4b15-9cda-07397569f403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6f10f85-7c29-4828-907e-470cee87a188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6f10f85-7c29-4828-907e-470cee87a188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-318d06d3-564f-46a6-91b3-d88ab2e8ae43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-318d06d3-564f-46a6-91b3-d88ab2e8ae43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaca9511-649c-4748-b3b0-f9c2b52ece4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-eaca9511-649c-4748-b3b0-f9c2b52ece4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-f287c7f2-5fdb-4073-912a-12b124aff98b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f287c7f2-5fdb-4073-912a-12b124aff98b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_drivers_vendor_passthru_methods_get_member [0.055704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_drivers_vendor_passthru_post_admin [0.061978s] ... 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-1f2ce469-7fe3-4df7-bd3a-7e2d3d77be65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1f2ce469-7fe3-4df7-bd3a-7e2d3d77be65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aa74e735-9e30-4f4e-8b65-69cc3f3c815c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa74e735-9e30-4f4e-8b65-69cc3f3c815c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8c44b293-31eb-4f3c-975c-9beb41fd7ced DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c44b293-31eb-4f3c-975c-9beb41fd7ced DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-501f017f-5955-4678-9bd6-e07632073ece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-501f017f-5955-4678-9bd6-e07632073ece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b0ff689-783b-4b67-aef6-204db121423d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b0ff689-783b-4b67-aef6-204db121423d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5d7e8500-d309-4f58-8daf-540219e0e70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d7e8500-d309-4f58-8daf-540219e0e70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4486f05d-a864-4e7b-b64e-250937fc458e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4486f05d-a864-4e7b-b64e-250937fc458e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-8f92ddef-f117-4806-8fef-76db6f12d301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f92ddef-f117-4806-8fef-76db6f12d301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_067_nodes_states_console_put_member [0.124846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_member [0.093464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_230_drivers_vendor_passthru_put_reader [0.067847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_member [0.067887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_208_drivers_get_admin [0.062407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_071_nodes_vendor_passthru_methods_get_reader [0.120500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_234_nodes_bios_get_admin [0.065988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_232_drivers_vendor_passthru_delete_reader [0.069015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_member [0.059970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_vendor_passthru_get_member [0.080007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_242_conductors_hostname_get_admin [0.065399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_observer [0.106603s] ... ok 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-985d80b2-9b05-40ae-b29a-431cf049bcff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e8cbd9d0-b075-4a27-aca9-94f48c4a7d7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b20d1a9d-d422-4b0c-ae9f-d71569241499 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-35423084-d7b8-40af-a613-757217203c7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-79863e08-b7f8-4ac9-8902-2bf8b1d5360f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-95df1e6a-a396-4bab-ad51-c432fc53674c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-50601f13-deaa-4d39-a19c-fefcce7bfe72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06b053cc-99b4-4545-b08f-212038b131b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9cc9e517-f3a4-45cd-81e9-2649fad84ecb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dbfe69d5-b625-4937-bff1-f5472dbd1f74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-87adaba7-d638-4358-8df7-d0b5a5cfc7d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-660a28ea-3ee7-4341-858c-4953631feb76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-59e114b4-f248-41eb-af1c-aee50b6adf1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0437ac0-9f55-4ff6-8823-d72a0d1c3d14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_member [0.059421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_251_allocations_allocation_id_get_admin [0.069974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_240_conductors_get_admin [0.055987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_observer [0.063060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_vendor_passthru_post_reader [0.102171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_post_admin [0.067906s] ... 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-c89008be-7fad-4f3b-8204-c8fbf5826394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c89008be-7fad-4f3b-8204-c8fbf5826394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-be58791f-7f5f-4c02-9e17-43a893b35177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-be58791f-7f5f-4c02-9e17-43a893b35177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6430ef4d-ab08-4caa-bb24-747366d58d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6430ef4d-ab08-4caa-bb24-747366d58d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4456f32e-9176-46d0-af3e-e7ea2ca4d8e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4456f32e-9176-46d0-af3e-e7ea2ca4d8e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-5ad8eec8-6d85-408d-ad26-96fd2e02d1b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:55.805845+00:00", "updated_at": "2023-04-19T16:15:55.806630+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-5ad8eec8-6d85-408d-ad26-96fd2e02d1b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:15:55.805845+00:00", "updated_at": "2023-04-19T16:15:55.806630+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/0c67f04c-fa2f-42be-8a73-f074727177ec DEBUG util.py:445: GET: /v1/allocations/0c67f04c-fa2f-42be-8a73-f074727177ec {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cfec0c4-abe3-469f-8291-279c896ab620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "0c67f04c-fa2f-42be-8a73-f074727177ec", "created_at": "2023-04-19T16:15:55.863074+00:00", "updated_at": "2023-04-19T16:15:55.874744+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0c67f04c-fa2f-42be-8a73-f074727177ec", "rel": "self"}, {"href": "http://localhost/allocations/0c67f04c-fa2f-42be-8a73-f074727177ec", "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-4cfec0c4-abe3-469f-8291-279c896ab620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "0c67f04c-fa2f-42be-8a73-f074727177ec", "created_at": "2023-04-19T16:15:55.863074+00:00", "updated_at": "2023-04-19T16:15:55.874744+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0c67f04c-fa2f-42be-8a73-f074727177ec", "rel": "self"}, {"href": "http://localhost/allocations/0c67f04c-fa2f-42be-8a73-f074727177ec", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d DEBUG util.py:445: PATCH: /v1/allocations/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d [{'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-109024ff-bee1-47ec-973a-542202a44d1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "created_at": "2023-04-19T16:15:55.929763+00:00", "updated_at": "2023-04-19T16:15:55.964711+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/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "rel": "self"}, {"href": "http://localhost/allocations/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_allocations_allocation_id_patch_member [0.069240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_078_nodes_vendor_passthru_put_admin [0.089563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_member [0.095499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_allocations_allocation_id_delete_admin [0.068708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_242_conductors_get_observer [0.057275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_080_nodes_vendor_passthru_put_reader [0.070544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_nodes_allocation_get_admin [0.067026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_246_allocations_post_admin [0.069689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_vendor_passthru_delete_admin [0.071719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_observer [0.078420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_262_nodes_allocation_get_reader [0.074312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_249_allocations_get_admin [0.066170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_traits_delete_admin [0.071124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_nodes_allocation_delete_admin [0.068942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_bios_setting_get_admin [0.098239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_252_allocations_allocation_id_get_admin [0.070052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_nodes_allocation_delete_member [0.062797s] ... 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-e59e3220-6c35-4f05-bc54-0ed714ce422c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e59e3220-6c35-4f05-bc54-0ed714ce422c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d45420ff-e1b9-4163-98eb-cf972807f945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d45420ff-e1b9-4163-98eb-cf972807f945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7a9a0e4-15a8-4aed-96bb-b7cfe3b7b99f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f7a9a0e4-15a8-4aed-96bb-b7cfe3b7b99f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a247e0b-a0e7-4cf0-a225-a3a0e15bf4c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8a247e0b-a0e7-4cf0-a225-a3a0e15bf4c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8daae2f2-6f44-430b-a872-ec00eead31a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8daae2f2-6f44-430b-a872-ec00eead31a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9bb3c28-2c1c-4712-9eee-8c168881400d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d9bb3c28-2c1c-4712-9eee-8c168881400d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b37c4d6d-4859-45b8-b49a-c4928b3d25f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b37c4d6d-4859-45b8-b49a-c4928b3d25f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f59b2c4-ed02-4e3b-9d2b-3d1802201009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f59b2c4-ed02-4e3b-9d2b-3d1802201009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_traits_delete_member [0.096997s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_observer [0.060816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_member [0.086787s] ... 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-109024ff-bee1-47ec-973a-542202a44d1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "created_at": "2023-04-19T16:15:55.929763+00:00", "updated_at": "2023-04-19T16:15:55.964711+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/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "rel": "self"}, {"href": "http://localhost/allocations/a02a3cf7-9691-4ee9-94fd-e925b8ff8b7d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/10dd82e4-3130-4ae7-8c53-cbdcad01a562 DEBUG util.py:445: DELETE: /v1/allocations/10dd82e4-3130-4ae7-8c53-cbdcad01a562 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84627694-36ac-4e7a-896d-2a9a38ab3164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84627694-36ac-4e7a-896d-2a9a38ab3164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-167a4246-38c5-4725-9c03-b96551a77c7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "af9f9fb8-c32d-464b-bd02-918649ec049b", "created_at": "2023-04-19T16:15:56.069597+00:00", "updated_at": "2023-04-19T16:15:56.076090+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/af9f9fb8-c32d-464b-bd02-918649ec049b", "rel": "self"}, {"href": "http://localhost/allocations/af9f9fb8-c32d-464b-bd02-918649ec049b", "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-167a4246-38c5-4725-9c03-b96551a77c7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "af9f9fb8-c32d-464b-bd02-918649ec049b", "created_at": "2023-04-19T16:15:56.069597+00:00", "updated_at": "2023-04-19T16:15:56.076090+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/af9f9fb8-c32d-464b-bd02-918649ec049b", "rel": "self"}, {"href": "http://localhost/allocations/af9f9fb8-c32d-464b-bd02-918649ec049b", "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-90578340-d957-46bb-bf7d-c0ccd2d2d471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4e4f8871-4d18-47a6-a799-fece2bf45492", "created_at": "2023-04-19T16:15:56.137574+00:00", "updated_at": "2023-04-19T16:15:56.149728+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4e4f8871-4d18-47a6-a799-fece2bf45492", "rel": "self"}, {"href": "http://localhost/allocations/4e4f8871-4d18-47a6-a799-fece2bf45492", "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-90578340-d957-46bb-bf7d-c0ccd2d2d471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4e4f8871-4d18-47a6-a799-fece2bf45492", "created_at": "2023-04-19T16:15:56.137574+00:00", "updated_at": "2023-04-19T16:15:56.149728+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4e4f8871-4d18-47a6-a799-fece2bf45492", "rel": "self"}, {"href": "http://localhost/allocations/4e4f8871-4d18-47a6-a799-fece2bf45492", "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-bfd63f33-7f87-485c-83b2-37650fed2c51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfd63f33-7f87-485c-83b2-37650fed2c51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-577cb3e9-7135-49cc-b95d-8cb36ceb42e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-577cb3e9-7135-49cc-b95d-8cb36ceb42e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_deploy_templates_post_admin [0.064892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_traits_delete_reader [0.115621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_hostname_get_admin [0.064807s] ... ok 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-9b44ca33-353c-4e5c-b10b-faa829d799fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?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-61060353-87ee-4760-b460-b579cf958467 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5110bf56-f94a-42c5-bea8-2c8a81e4e5a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52297454-df10-465b-a6d0-99c0924da90f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8283c1c3-49e7-4f89-9cf0-99e7d557dbd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2091e180-c6f7-43fc-b4b6-53bb459ce147 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-3bb105ff-835d-4a07-8e27-a459ef406fab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-dde9745f-b25d-4427-8c1a-e6434af91071 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47126eaf-f68b-4389-b458-a8c5f5248390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08454d36-90fe-4f8e-a63c-7a63ab62635d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8faead77-c235-480e-8118-64c82188008e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88dd7b97-b192-417c-9523-9b802de5c665 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/d37e6a38-7d23-41e8-8135-22ed28f0146b DEBUG util.py:445: GET: /v1/allocations/d37e6a38-7d23-41e8-8135-22ed28f0146b {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11f1eb23-079e-4108-9b99-1e679fc9398b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d37e6a38-7d23-41e8-8135-22ed28f0146b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/fdbdc790-04b5-4d6f-94e1-3b6a6ab5d757 DEBUG util.py:445: PATCH: /v1/allocations/fdbdc790-04b5-4d6f-94e1-3b6a6ab5d757 [{'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-92440a94-9135-4bb3-849f-6c6a2d16a893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fdbdc790-04b5-4d6f-94e1-3b6a6ab5d757 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/af920e51-7e71-4ac9-a8c8-9d89a7f4f1d1 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_delete_admin [0.064433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_deploy_templates_get_reader [0.093435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_observer [0.058131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_member [0.082169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_vifs_get_admin [0.128835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_observer [0.080848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_observer [0.088064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_deploy_templates_deploy_template_id_get_member [0.124967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_observer [0.061192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_member [0.075275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_vifs_get_member [0.127955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_get_admin [0.057027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_276_deploy_templates_deploy_template_id_patch_member [0.120377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_member [0.071050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_vifs_post_admin [0.089878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_277_deploy_templates_deploy_template_id_patch_reader [0.069652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_member [0.112463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_observer [0.113284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_deploy_templates_deploy_template_id_delete_admin [0.060739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_103_nodes_vifs_post_member [0.066402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_chassis_post_member [0.057479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_106_nodes_vifs_node_vif_ident_delete_member [0.062209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_member [0.092017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_member [0.135671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_deploy_template_id_get_admin [0.060398s] ... 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/deploy_templates/c29521a6-6425-4fbc-970b-872c2f56fa10 DEBUG util.py:445: Openstack-Request-Id: req-a3a667f9-6ada-482b-857f-6d0ef48fcf49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c29521a6-6425-4fbc-970b-872c2f56fa10", "created_at": "2023-04-19T16:15:56.378079+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c29521a6-6425-4fbc-970b-872c2f56fa10", "rel": "self"}, {"href": "http://localhost/deploy_templates/c29521a6-6425-4fbc-970b-872c2f56fa10", "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/c29521a6-6425-4fbc-970b-872c2f56fa10 DEBUG util.py:445: Openstack-Request-Id: req-a3a667f9-6ada-482b-857f-6d0ef48fcf49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c29521a6-6425-4fbc-970b-872c2f56fa10", "created_at": "2023-04-19T16:15:56.378079+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c29521a6-6425-4fbc-970b-872c2f56fa10", "rel": "self"}, {"href": "http://localhost/deploy_templates/c29521a6-6425-4fbc-970b-872c2f56fa10", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} 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-5ed779bc-e358-47e2-85b0-7ce5abf524f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "7cec21ea-186c-4bc1-84e4-8aaa762ded39", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/7cec21ea-186c-4bc1-84e4-8aaa762ded39", "rel": "self"}, {"href": "http://localhost/deploy_templates/7cec21ea-186c-4bc1-84e4-8aaa762ded39", "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-5ed779bc-e358-47e2-85b0-7ce5abf524f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "7cec21ea-186c-4bc1-84e4-8aaa762ded39", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/7cec21ea-186c-4bc1-84e4-8aaa762ded39", "rel": "self"}, {"href": "http://localhost/deploy_templates/7cec21ea-186c-4bc1-84e4-8aaa762ded39", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe DEBUG util.py:445: GET: /v1/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0244f889-6c3d-4588-aab6-bbeba8670122 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7789a370-0c0f-413d-9e3b-e40a218b97fe", "created_at": "2023-04-19T16:15:56.548078+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe", "rel": "self"}, {"href": "http://localhost/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe", "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-0244f889-6c3d-4588-aab6-bbeba8670122 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "7789a370-0c0f-413d-9e3b-e40a218b97fe", "created_at": "2023-04-19T16:15:56.548078+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe", "rel": "self"}, {"href": "http://localhost/deploy_templates/7789a370-0c0f-413d-9e3b-e40a218b97fe", "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/ef2d008a-a79c-4ccc-a172-219f2c3fb813 DEBUG util.py:445: PATCH: /v1/deploy_templates/ef2d008a-a79c-4ccc-a172-219f2c3fb813 [{'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-243d6e28-dc2b-4963-ad99-3dba9ab049b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-243d6e28-dc2b-4963-ad99-3dba9ab049b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/58b3607b-af4f-4738-9123-675e57f60617 DEBUG util.py:445: PATCH: /v1/deploy_templates/58b3607b-af4f-4738-9123-675e57f60617 [{'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-357cf7c6-f447-49ee-9a1c-973e31d8baf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-357cf7c6-f447-49ee-9a1c-973e31d8baf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/25ec556e-5c17-4350-87b2-f9eb36cf2807 DEBUG util.py:445: DELETE: /v1/deploy_templates/25ec556e-5c17-4350-87b2-f9eb36cf2807 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d52b351b-3952-4658-8a4e-5264088a4a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d52b351b-3952-4658-8a4e-5264088a4a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8594cda6-5511-4b02-b6cb-d647bebf0aff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8594cda6-5511-4b02-b6cb-d647bebf0aff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_chassis_get_admin [0.061663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_285_chassis_get_member [0.068815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_portgroups_get_member [0.070107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_chassis_detail_get_member [0.057126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_observer [0.163483s] ... 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-84e8b60a-d5d7-4a9e-8164-669c17d56cbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84e8b60a-d5d7-4a9e-8164-669c17d56cbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4112de3a-165c-4f80-b868-7d14c66cca75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4112de3a-165c-4f80-b868-7d14c66cca75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-681d6250-2625-4ea9-ac70-e0abefce6cb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-681d6250-2625-4ea9-ac70-e0abefce6cb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-26e4b6a8-9b18-4501-94ac-b995b1aee3c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26e4b6a8-9b18-4501-94ac-b995b1aee3c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-49be0bd3-4743-44f9-8c00-ec033c43e163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49be0bd3-4743-44f9-8c00-ec033c43e163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1760bde7-978c-4d60-b8cb-cb861761ee2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1760bde7-978c-4d60-b8cb-cb861761ee2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5ddf64ad-bddc-4d4e-b363-dd3dae46ba0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ddf64ad-bddc-4d4e-b363-dd3dae46ba0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-652892c9-e9ad-43f2-ad9b-8ed953184524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-652892c9-e9ad-43f2-ad9b-8ed953184524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_portgroups_get_reader [0.058086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_291_chassis_chassis_id_get_member [0.079445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_portgroups_portgroup_ident_get_admin [0.072500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_get_admin [0.110604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_296_chassis_chassis_id_delete_admin [0.062128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_128_portgroups_portgroup_ident_delete_member [0.062120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_nodes_portgroups_get_reader [0.063515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_node_history_get_admin [0.064022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_observer [0.136855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_nodes_portgroups_detail_get_member [0.068723s] ... 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-4a379434-27d5-4c06-83df-0dd83a590a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4a379434-27d5-4c06-83df-0dd83a590a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-911daf59-5c6c-49c0-8d44-b3ba4d80385b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-911daf59-5c6c-49c0-8d44-b3ba4d80385b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4f8e447a-2c84-467a-bfce-cb46a53b7b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:57.074454+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-4f8e447a-2c84-467a-bfce-cb46a53b7b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:57.074454+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-3e44847e-2ea5-4663-9d9c-dc11b1cd21fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:57.139276+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-3e44847e-2ea5-4663-9d9c-dc11b1cd21fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:15:57.139276+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-08d7bfdc-dd66-4bd8-9c6a-40ea66306803 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-08d7bfdc-dd66-4bd8-9c6a-40ea66306803 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72954490-c233-4fed-a020-afdef14bbe32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "32ad295b-0819-4c70-8852-530feadbe6ff", "created_at": "2023-04-19T16:15:57.284454+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32ad295b-0819-4c70-8852-530feadbe6ff", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72954490-c233-4fed-a020-afdef14bbe32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "32ad295b-0819-4c70-8852-530feadbe6ff", "created_at": "2023-04-19T16:15:57.284454+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32ad295b-0819-4c70-8852-530feadbe6ff", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e0b15d8e-7d93-4b2a-abb0-66285c1c82bc DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e0b15d8e-7d93-4b2a-abb0-66285c1c82bc {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_node_history_get_entry_member [0.077668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.025019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.019141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.028225s] ... 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-2349f313-9589-4a4b-a73f-895627de53a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2349f313-9589-4a4b-a73f-895627de53a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f20e6103-3f26-48d2-bb32-c0f1875da01b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:57.141019+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-f20e6103-3f26-48d2-bb32-c0f1875da01b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:57.141019+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c6fbc10-8d97-4dd4-90d5-f7a794a19f49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9c6fbc10-8d97-4dd4-90d5-f7a794a19f49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c4df0eef-f9f3-4519-8e54-9e69c8db5473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c4df0eef-f9f3-4519-8e54-9e69c8db5473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e90f0856-748b-4ee9-ba46-eb6bdd42a114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:57.339392+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-e90f0856-748b-4ee9-ba46-eb6bdd42a114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:15:57.339392+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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_136_ports_get_admin [0.069803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.023163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_patch_admin [0.133136s] ... 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-47c3c4db-7978-4006-acdc-b10a82aa814f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90202164-7ae0-4674-95ce-b2919d1abc2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f81beea6-9ed7-4a1a-a0d5-86e99d657ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d65b5565-093d-4012-9f72-f390a8b70467 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-97f04c2b-33ff-4517-9db0-ccb2f23d6502 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-5405b134-d469-44b2-bdc2-61c4034729a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-8ef47586-2a85-4e9c-9081-c7327664be99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b45029ce-1e75-4fa2-b5e1-faaacafe4523 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cf072ec-6747-440e-8739-5ae1866745c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/1f157746-1fac-471f-b23e-57a4e9d10101 DEBUG util.py:445: PATCH: /v1/allocations/1f157746-1fac-471f-b23e-57a4e9d10101 [{'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-f4a2a716-7311-44e5-a834-2860333fc913 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 1f157746-1fac-471f-b23e-57a4e9d10101 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/062872e8-44fa-4ecd-8ed3-d24a0ca0cb80 DEBUG util.py:445: DELETE: /v1/allocations/062872e8-44fa-4ecd-8ed3-d24a0ca0cb80 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89af14c0-d31a-4a83-9f91-3a560d2b3e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 062872e8-44fa-4ecd-8ed3-d24a0ca0cb80 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-855cd462-ce97-4f14-a197-d206af1c63e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9665273f-f2b8-45b8-8d1d-ccd8232413ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/ba1ff5f6-6fa6-4e40-8eac-00ef51ff382d DEBUG util.py:445: GET: /v1/deploy_templates/ba1ff5f6-6fa6-4e40-8eac-00ef51ff382d {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d755942b-777c-45cc-b941-d4201fdd18df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_observer [0.493203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.029906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_137_ports_get_member [0.079606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.032610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_chassis_post_admin [0.090395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.039717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_member [0.105555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_ports_post_admin [0.085691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.036429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_observer [0.066112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.028769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.023497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_140_ports_post_member [0.067190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_observer [0.085178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.031578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_detail_get_admin [0.065494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.028417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_ports_detail_get_member [0.072733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.033143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_delete_admin [0.067978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.027317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_148_ports_port_id_patch_admin [0.089024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.051709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_observer [0.065644s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/af920e51-7e71-4ac9-a8c8-9d89a7f4f1d1 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-538e4109-053c-45bc-b009-f97f47c25fcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation af920e51-7e71-4ac9-a8c8-9d89a7f4f1d1 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-b21eb34a-d9f7-430c-a4d0-963fe507b88a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-41a1a10b-2287-4f47-984f-a09c2d180924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f441a036-c16b-49f7-9f21-5f4fcf2cc7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3593ac69-cca1-40c0-bbdd-df10dcd4ac74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92ae2208-046d-482d-afd7-4f415cb0f5fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/e6121508-e2e4-4cd0-9e54-cb202d4d57ff DEBUG util.py:445: PATCH: /v1/deploy_templates/e6121508-e2e4-4cd0-9e54-cb202d4d57ff [{'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-ab9aba9f-470e-44ac-aff5-2f2b358fb78c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b85c59bd-d78d-4bd4-a5d4-14245e53a1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c440a932-d0ee-4dc2-b351-fd430ffb68e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4957d5f8-d29d-44b3-b7a6-7dc60556ed51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18e2d3d8-ccc6-48f6-8600-7bca767b44e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d921440-b2bc-440f-bb21-7df11ef67957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd09f8cb-f859-4bf7-9a47-c898eb4d911e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40aa9bce-50a3-420c-8948-4aab6909f951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.087384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_150_ports_port_id_patch_reader [0.080149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_member [0.074134s] ... 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] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.115776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_303_node_history_get_entry_admin [0.058104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.067620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_observer [0.059067s] ... 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-959b68fb-db9d-47af-a01d-22474fa31e2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-959b68fb-db9d-47af-a01d-22474fa31e2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-72e2632e-881c-4922-a443-cceada73af0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-72e2632e-881c-4922-a443-cceada73af0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84c27ee9-e039-45ec-801c-d8f57ae70603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-84c27ee9-e039-45ec-801c-d8f57ae70603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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': '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-e5efcfe2-1691-4848-b612-3272a98237d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e5efcfe2-1691-4848-b612-3272a98237d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-397f5a9d-6cfe-4b2d-8d9d-cf93b51cd924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:57.714280+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-397f5a9d-6cfe-4b2d-8d9d-cf93b51cd924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:57.714280+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-796f013c-8793-4ea9-8132-45fae472ece2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-796f013c-8793-4ea9-8132-45fae472ece2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34ea814e-998e-460d-89a4-392b341ca95f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-34ea814e-998e-460d-89a4-392b341ca95f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_ports_port_id_delete_member [0.074662s] ... 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-40aa9bce-50a3-420c-8948-4aab6909f951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-6d13e291-00e3-432d-a34f-35ea0d571143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:57.853258+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:57.856091+00:00", "updated_at": "2023-04-19T16:15:57.859698+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ea75b7f8-bb78-43eb-a03c-fe0193fc727d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "ea75b7f8-bb78-43eb-a03c-fe0193fc727d", "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-04-19T16:15:57.874300+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d13e291-00e3-432d-a34f-35ea0d571143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:57.853258+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:57.856091+00:00", "updated_at": "2023-04-19T16:15:57.859698+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ea75b7f8-bb78-43eb-a03c-fe0193fc727d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "ea75b7f8-bb78-43eb-a03c-fe0193fc727d", "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-04-19T16:15:57.874300+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_012_nodes_detail_get_member [0.083304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.051354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_ports_detail_get_member [0.098343s] ... ok DEBUG util.py:443: "max-count" must be a positive value. DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.028222s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/f0f1e820-2cff-4e21-a151-976bcd118d58 DEBUG util.py:445: PATCH: /v1/deploy_templates/f0f1e820-2cff-4e21-a151-976bcd118d58 [{'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-300e47ad-8b2e-439c-b031-60d607f550c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69685203-a736-4927-bb3b-01b7b6f7480d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7ecbe20-d5e6-4690-bdba-a5591d16706a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-553bdc1c-c6cc-4f54-ad47-8d427094f676 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebd2a1aa-4f35-4d74-b4d8-123ac20e0e3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-4c7f3ee1-9246-491e-bfd0-71137543255b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67c935fb-e261-4f48-8c0b-261779c244b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/61e1d6a2-7d38-4bf8-91af-f4725110f7a0 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/61e1d6a2-7d38-4bf8-91af-f4725110f7a0 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d436bf6-9e90-4f03-99ef-acf658d59da8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bdab8d3d-9706-4865-a3c7-aed0172d88a5 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bdab8d3d-9706-4865-a3c7-aed0172d88a5 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc6c56ab-0f76-40d3-a0be-18619c70ab28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_get_node_admin [0.074489s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.047006s] ... 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: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b089dab8-0511-4009-abba-c3dddf3d8e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.064650+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: 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-b089dab8-0511-4009-abba-c3dddf3d8e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.064650+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_node_ident_get_member [0.070096s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.046969s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.041453s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_163_portgroups_ports_detail_get_admin [0.157648s] ... 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-f9ad3956-ac12-4e1b-833d-5b085074b1b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.136445+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9ad3956-ac12-4e1b-833d-5b085074b1b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.136445+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_016_nodes_node_ident_get_reader [0.071622s] ... 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-701db1a2-c513-43fd-b5e7-575221d96cf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:57.947475+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:57.951296+00:00", "updated_at": "2023-04-19T16:15:57.954761+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "6ce201b4-1335-4813-bf2e-80a23a965388", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "6ce201b4-1335-4813-bf2e-80a23a965388", "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-04-19T16:15:57.969018+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-701db1a2-c513-43fd-b5e7-575221d96cf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:57.947475+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2023-04-19T16:15:57.951296+00:00", "updated_at": "2023-04-19T16:15:57.954761+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "6ce201b4-1335-4813-bf2e-80a23a965388", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "6ce201b4-1335-4813-bf2e-80a23a965388", "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-04-19T16:15:57.969018+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_detail_get_reader [0.090263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_system_member_can_patch_conductor_group [0.112517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_020_nodes_node_ident_patch_member [0.156861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.050689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_169_volume_connectors_get_admin [0.077720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_017_nodes_node_ident_patch_admin [0.080831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.033908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.031863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_volume_connectors_post_reader [0.061848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_patch_reader [0.065535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_delete_member [0.147675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_180_volume_volume_connector_id_patch_reader [0.068877s] ... 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-f3834cb5-b7c2-44af-9adf-e08149e19fd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.205176+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3834cb5-b7c2-44af-9adf-e08149e19fd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-04-19T16:15:58.205176+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56a7dce0-f890-4637-b488-178003469789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56a7dce0-f890-4637-b488-178003469789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-10b1e81d-11e3-49c7-92de-9d36e0d730bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-10b1e81d-11e3-49c7-92de-9d36e0d730bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_delete_admin [0.064949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_182_volume_volume_connector_id_delete_member [0.062048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_024_nodes_node_ident_delete_reader [0.066836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_maintenance_delete_member [0.123823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_maintenance_put_reader [0.067609s] ... 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-630d9e77-847f-4329-8875-cff8237eca60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-630d9e77-847f-4329-8875-cff8237eca60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d570b40e-860f-46ed-b55f-5eaeb9783dfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:58.037702+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-d570b40e-860f-46ed-b55f-5eaeb9783dfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:58.037702+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-7d61d6ed-bc3d-4abd-9e81-8543e0f3ee42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7d61d6ed-bc3d-4abd-9e81-8543e0f3ee42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0ecba230-0f2e-4547-a2e9-7b2964e591a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0ecba230-0f2e-4547-a2e9-7b2964e591a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1ba1b40-0214-4f20-937e-9c307572da11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c1ba1b40-0214-4f20-937e-9c307572da11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04672cce-7a2c-489b-b737-74a4485cab3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-04672cce-7a2c-489b-b737-74a4485cab3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-83e79410-afe8-4133-b6e0-fce3ccbb8a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83e79410-afe8-4133-b6e0-fce3ccbb8a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_189_volume_targets_post_reader [0.061190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_191_volume_volume_target_id_get_member [0.060434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_maintenance_delete_admin [0.070082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_management_boot_device_put_member [0.155534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_197_volume_volume_target_id_delete_reader [0.079539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.352357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_maintenance_delete_reader [0.064424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.017301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_nodes_volume_get_reader [0.060546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.041613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_037_nodes_management_boot_device_get_admin [0.088431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_management_boot_device_put_reader [0.082847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.049440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_203_nodes_volume_connectors_get_reader [0.067435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_039_nodes_management_boot_device_get_reader [0.081035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.044124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_044_nodes_management_inject_nmi_put_member [0.076350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.043675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_042_nodes_management_boot_device_supported_get_reader [0.079902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_047_nodes_states_get_member [0.078561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.052931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.036243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.019601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.015799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.014815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.030826s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/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-c608e1e2-70a7-460e-bd54-02699d365025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c608e1e2-70a7-460e-bd54-02699d365025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2997156c-3e1e-49d2-9566-514936f9b002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2997156c-3e1e-49d2-9566-514936f9b002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cd5a5977-5611-4096-94f1-8f76fe026d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd5a5977-5611-4096-94f1-8f76fe026d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-06a561bb-1858-4ce6-87cf-93798818f25f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06a561bb-1858-4ce6-87cf-93798818f25f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-215f1a13-a443-4bd5-925e-1370f072bfd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-215f1a13-a443-4bd5-925e-1370f072bfd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5454c9f2-f10a-469d-a982-0bb2d1148bd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5454c9f2-f10a-469d-a982-0bb2d1148bd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3732bb84-84ad-4b6a-9239-71932cbd0f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3732bb84-84ad-4b6a-9239-71932cbd0f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc4fbfcc-39fa-4930-b921-07bacd553bce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dc4fbfcc-39fa-4930-b921-07bacd553bce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_043_nodes_management_inject_nmi_put_admin [0.072547s] ... 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-dbf5a4fc-b4c6-4fea-9d53-6fc90f7a9af4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbf5a4fc-b4c6-4fea-9d53-6fc90f7a9af4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-45252d15-4592-45f8-8132-28f3a3525329 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45252d15-4592-45f8-8132-28f3a3525329 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"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-3f0655ab-bea7-46b9-a1ec-39bf16927221 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3f0655ab-bea7-46b9-a1ec-39bf16927221 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-b0856684-1455-4ce1-a261-25e63e2ad7dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0856684-1455-4ce1-a261-25e63e2ad7dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e972a83-c0b6-4813-a36b-e6c743823381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1e972a83-c0b6-4813-a36b-e6c743823381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6385d971-58eb-4459-a0c9-7f88845b6194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6385d971-58eb-4459-a0c9-7f88845b6194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-9e62fc4f-679a-44ec-929f-cb8e2f79db69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e62fc4f-679a-44ec-929f-cb8e2f79db69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-42a2d662-28df-4a29-a88e-43ec21dde5ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42a2d662-28df-4a29-a88e-43ec21dde5ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_states_boot_mode_put_reader [0.065440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_drivers_get_reader [0.265333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.031615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_045_nodes_management_inject_nmi_put_reader [0.106807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_059_nodes_states_provision_put_member [0.103794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.067532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.023867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_states_power_put_reader [0.096430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.028381s] ... ok 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-2d461725-ce77-4111-bf4d-db49fc004762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2d461725-ce77-4111-bf4d-db49fc004762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-3923f78d-2fe0-4332-9224-1740fdc363ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:58.617506+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-3923f78d-2fe0-4332-9224-1740fdc363ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:15:58.617506+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1d9be20-4359-4890-a11f-1bb8d1302420 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f1d9be20-4359-4890-a11f-1bb8d1302420 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-d6ca74b3-0301-41b6-86da-a2b7869b19ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d6ca74b3-0301-41b6-86da-a2b7869b19ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-111c8d48-9568-41fc-b614-6ab4308e825d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-111c8d48-9568-41fc-b614-6ab4308e825d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-476f8433-4a85-4180-a214-abc38905c9e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-476f8433-4a85-4180-a214-abc38905c9e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-37e2b911-2f90-464b-9666-e2dddeeb0837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_drivers_driver_name_get_member [0.070485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_061_nodes_states_raid_put_admin [0.117332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.018239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.017760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_213_drivers_properties_get_admin [0.112575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.037330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.035668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_052_nodes_states_boot_mode_put_admin [0.145641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_064_nodes_states_console_get_admin [0.124862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.037250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.030825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_drivers_vendor_passthru_methods_get_admin [0.140747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.037996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_065_nodes_states_console_get_member [0.093539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.025764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.024632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_053_nodes_states_boot_mode_put_member [0.133290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.022207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_066_nodes_states_console_put_admin [0.064878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.016103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.016333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.023802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_234_nodes_bios_get_member [0.148123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_vendor_passthru_post_member [0.068419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.023598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_056_nodes_states_secure_boot_put_member [0.116223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_079_nodes_vendor_passthru_put_member [0.060763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_237_nodes_bios_bios_setting_get_member [0.088810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_058_nodes_states_provision_put_admin [0.061930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_allocations_post_admin [0.061383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_060_nodes_states_provision_put_reader [0.065679s] ... 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-325ec221-309f-4c30-9c08-53f503006311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-325ec221-309f-4c30-9c08-53f503006311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5633615f-8474-430f-85a7-13f59e0d9ce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5633615f-8474-430f-85a7-13f59e0d9ce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-684ad671-b696-4a46-846b-6d5c0c6d32f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-684ad671-b696-4a46-846b-6d5c0c6d32f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b79d159d-f609-4c88-afcf-fa017805bfa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b79d159d-f609-4c88-afcf-fa017805bfa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-88b78cf9-d7d1-4a6d-8c59-5f30e2a66fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88b78cf9-d7d1-4a6d-8c59-5f30e2a66fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2957ad2e-95e2-4571-9493-7f7629c2534c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2957ad2e-95e2-4571-9493-7f7629c2534c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06977f43-0986-4069-936e-2b785c067f51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-06977f43-0986-4069-936e-2b785c067f51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0086068-e685-4fbd-af3f-b2a7daa15036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c0086068-e685-4fbd-af3f-b2a7daa15036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_traits_get_admin [0.073184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_252_allocations_allocation_id_get_member [0.062995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_traits_get_member [0.073655s] ... 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-8c5121ea-9ae4-4348-8f95-aede6bcabc3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c5121ea-9ae4-4348-8f95-aede6bcabc3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e217e13a-f3cb-4895-b880-5e87c1646e78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e217e13a-f3cb-4895-b880-5e87c1646e78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e939be6-d9d4-4942-a024-981d340f44fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-4e939be6-d9d4-4942-a024-981d340f44fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f6ba555-5c50-48d6-9a4a-586311cf74f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f6ba555-5c50-48d6-9a4a-586311cf74f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7caf4c57-f452-4254-84aa-2932a851d034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7caf4c57-f452-4254-84aa-2932a851d034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6314cf6-4910-4c02-a82f-d7b10e9570d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6314cf6-4910-4c02-a82f-d7b10e9570d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d0146792-a80d-4dc0-9a23-8bba4cc65812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0146792-a80d-4dc0-9a23-8bba4cc65812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-25b7c312-0e96-45e5-bae8-ec556283ee3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-25b7c312-0e96-45e5-bae8-ec556283ee3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_068_nodes_states_console_put_reader [0.058664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_069_nodes_vendor_passthru_methods_get_admin [0.081883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_095_nodes_traits_trait_put_reader [0.113255s] ... 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-37e2b911-2f90-464b-9666-e2dddeeb0837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0164b707-b56b-4e49-bd61-839fe31250a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0164b707-b56b-4e49-bd61-839fe31250a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd7eba54-4042-4672-bb4f-ed110e5452ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-fd7eba54-4042-4672-bb4f-ed110e5452ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0c56b190-4583-4e21-b065-42b0912650a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:59.533464+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-0c56b190-4583-4e21-b065-42b0912650a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:15:59.533464+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-aea4868c-ad05-4ee5-bcc5-7cb994474d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:59.650981+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aea4868c-ad05-4ee5-bcc5-7cb994474d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:15:59.650981+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: API ACL Testing Path 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-4e336047-bdc5-4d11-aae7-f9ba7c921b3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e336047-bdc5-4d11-aae7-f9ba7c921b3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/3e62f78a-4f74-4a20-bda9-59f78be2e434 DEBUG util.py:445: GET: /v1/allocations/3e62f78a-4f74-4a20-bda9-59f78be2e434 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-666cdb7d-b0cd-4b54-aac6-7a803eb75c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3e62f78a-4f74-4a20-bda9-59f78be2e434", "created_at": "2023-04-19T16:15:59.763122+00:00", "updated_at": "2023-04-19T16:15:59.769391+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3e62f78a-4f74-4a20-bda9-59f78be2e434", "rel": "self"}, {"href": "http://localhost/allocations/3e62f78a-4f74-4a20-bda9-59f78be2e434", "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-666cdb7d-b0cd-4b54-aac6-7a803eb75c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "3e62f78a-4f74-4a20-bda9-59f78be2e434", "created_at": "2023-04-19T16:15:59.763122+00:00", "updated_at": "2023-04-19T16:15:59.769391+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3e62f78a-4f74-4a20-bda9-59f78be2e434", "rel": "self"}, {"href": "http://localhost/allocations/3e62f78a-4f74-4a20-bda9-59f78be2e434", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/d5d06e08-b016-4a0d-8747-5cfedf50cf0a DEBUG util.py:445: PATCH: /v1/allocations/d5d06e08-b016-4a0d-8747-5cfedf50cf0a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_allocations_allocation_id_patch_reader [0.083546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_070_nodes_vendor_passthru_methods_get_member [0.060458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_259_allocations_allocation_id_delete_reader [0.087574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_072_nodes_vendor_passthru_get_admin [0.071414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_vifs_get_reader [0.102482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_283_chassis_post_reader [0.071363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_vendor_passthru_post_admin [0.064242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_chassis_get_reader [0.061317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_104_nodes_vifs_post_reader [0.091565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_289_chassis_detail_get_reader [0.060588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_vendor_passthru_delete_member [0.068543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_portgroups_detail_get_admin [0.076962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_traits_put_admin [0.071104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_295_chassis_chassis_id_patch_reader [0.075561s] ... 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-f002f3c0-7bbb-4bf1-b3ad-1c03b4464081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f002f3c0-7bbb-4bf1-b3ad-1c03b4464081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"traits": ["trait1"]} 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-8299b3af-c392-4370-8d2f-42d228cb6768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8299b3af-c392-4370-8d2f-42d228cb6768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5017b654-e79b-427d-9136-6f17f077a6ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5017b654-e79b-427d-9136-6f17f077a6ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8c3695c4-0cd6-461f-83e9-174c72ff68d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c3695c4-0cd6-461f-83e9-174c72ff68d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aea7b897-ee60-4f3a-8db6-6fb22541fb4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-aea7b897-ee60-4f3a-8db6-6fb22541fb4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-073f5555-685f-4574-9111-735c7d2f810c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.175974+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-073f5555-685f-4574-9111-735c7d2f810c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.175974+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-16d1a2d6-74a4-40f8-89ac-bb224f0bc219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.251682+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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_119_portgroups_detail_get_member [0.080174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_traits_put_member [0.061889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_297_chassis_chassis_id_delete_member [0.067073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_portgroups_portgroup_ident_patch_admin [0.071603s] ... 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-e0957c5b-7a1e-486c-be52-0d9c66704547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-e0957c5b-7a1e-486c-be52-0d9c66704547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2eeb473c-7aaf-498f-b65c-b5d5a0b7d077 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2eeb473c-7aaf-498f-b65c-b5d5a0b7d077 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab1bc6d2-2409-4a06-8078-f3077efeb1f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ab1bc6d2-2409-4a06-8078-f3077efeb1f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-59476b07-758c-4b3d-8f20-e8a69c97f1f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59476b07-758c-4b3d-8f20-e8a69c97f1f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d32d4b86-31b0-443c-ac71-191781aef478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d32d4b86-31b0-443c-ac71-191781aef478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2c4fa3a3-acbc-4ed2-9bb8-35bb1fa3a6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-2c4fa3a3-acbc-4ed2-9bb8-35bb1fa3a6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 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-b5e7591b-1738-484f-95de-fdb940c4c239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5e7591b-1738-484f-95de-fdb940c4c239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd3f2b3b-d677-4b97-a344-7bce4c7b3628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd3f2b3b-d677-4b97-a344-7bce4c7b3628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_traits_trait_delete_reader [0.062017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_127_portgroups_portgroup_ident_delete_admin [0.090985s] ... 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-8f179ac3-55cf-4db6-b93e-3c939fd0c1b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8f179ac3-55cf-4db6-b93e-3c939fd0c1b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/4e9186a5-99e8-49b0-849c-6d1f66867e51 DEBUG util.py:445: DELETE: /v1/allocations/4e9186a5-99e8-49b0-849c-6d1f66867e51 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dee1b476-9b9d-41a3-8dc8-022c713ae27b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dee1b476-9b9d-41a3-8dc8-022c713ae27b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-b83b3118-6067-4452-8c34-6d33cbadaee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-b83b3118-6067-4452-8c34-6d33cbadaee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a565ba1c-f7de-4625-be1d-5293cf904548 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a565ba1c-f7de-4625-be1d-5293cf904548 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9031b237-f845-478f-8155-73de8b9850fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:00.141519+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-9031b237-f845-478f-8155-73de8b9850fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:00.141519+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1618064-e6d0-40e5-9b3d-2e9b4e1544fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c1618064-e6d0-40e5-9b3d-2e9b4e1544fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0e54674-36c4-4453-a6f6-0445f0b15eb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0e54674-36c4-4453-a6f6-0445f0b15eb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_node_history_get_reader [0.070186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.023507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.014731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.028601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.030828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.023430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.018648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_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_129_portgroups_portgroup_ident_delete_reader [0.077259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.021243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.019753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.025082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_portgroups_get_admin [0.068940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_130_nodes_portgroups_get_admin [0.075899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.021249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.025040s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.021739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.026538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.023887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_portgroups_post_admin [0.075200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.023738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.028547s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.021109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_nodes_portgroups_detail_get_reader [0.121513s] ... ok DEBUG util.py:443: Error while running foo: bar. DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.030604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.044732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_portgroups_post_reader [0.074039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.027023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.018203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.049994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.018096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_141_ports_post_reader [0.064231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.018075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.062545s] ... ok DEBUG util.py:443: This is badINFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4144cd37-ade2-45af-a72a-31313cb72ce4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "6fc3c053-2ec5-4142-94f9-9b719e00ad68", "created_at": "2023-04-19T16:16:00.362490+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6fc3c053-2ec5-4142-94f9-9b719e00ad68", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4144cd37-ade2-45af-a72a-31313cb72ce4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "6fc3c053-2ec5-4142-94f9-9b719e00ad68", "created_at": "2023-04-19T16:16:00.362490+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6fc3c053-2ec5-4142-94f9-9b719e00ad68", "rel": "self"}]}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed16e4ed-020e-404f-9e04-2c9a4b408409 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-21.1.1.dev25/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-21.1.1.dev25/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.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\\n\"}"} 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-f4dbbc68-7a5d-40df-851d-bc2351688bfd 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': '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-ef3ae752-bc5f-44a2-a5e4-ac84aeb0f284 DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} 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.80'}, 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}, '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: 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.80'}} DEBUG util.py:445: func1() migrated 10 of 15 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func1() migrated 0 of 0 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Malformed option m1key1=value1 DEBUG util.py:445: Data migrations have not completed. Please re-run. DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.017505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.017077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.052113s] ... 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-16d1a2d6-74a4-40f8-89ac-bb224f0bc219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.251682+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-5d40dd60-200a-46ca-9585-ef5041a79fdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d40dd60-200a-46ca-9585-ef5041a79fdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-af39a2d1-53dd-4ab1-b27c-365ff6209efa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af39a2d1-53dd-4ab1-b27c-365ff6209efa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c29840a9-62a6-4870-9f4b-026a2ffef8c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c29840a9-62a6-4870-9f4b-026a2ffef8c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-114a96eb-10c6-4f13-9dfa-240ccae7ddce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-114a96eb-10c6-4f13-9dfa-240ccae7ddce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c01bca2e-6d6b-4901-b8c7-a52ea6961133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.665045+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-c01bca2e-6d6b-4901-b8c7-a52ea6961133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-04-19T16:16:00.665045+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e5f3f6c-64ae-47a9-a8a5-cf9dad99d31c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_ports_get_reader [0.170199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.039124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.027250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.032453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_146_ports_port_id_get_member [0.133503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_144_ports_detail_get_reader [0.227970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.183071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.017741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.059766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.014822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.014814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.014306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.041853s] ... 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-7cfd2aae-588e-464c-8e3e-6887b5bf6937 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7cfd2aae-588e-464c-8e3e-6887b5bf6937 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-204b484f-620c-415a-901c-3dfb3a2a2ddf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-204b484f-620c-415a-901c-3dfb3a2a2ddf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce DEBUG util.py:445: Openstack-Request-Id: req-7062515a-d193-449b-8542-ae4466d284c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "59b28293-c084-44aa-9f8c-0ed2425749ce", "created_at": "2023-04-19T16:16:00.662330+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/59b28293-c084-44aa-9f8c-0ed2425749ce", "rel": "self"}, {"href": "http://localhost/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce/ports", "rel": "self"}, {"href": "http://localhost/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce/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/59b28293-c084-44aa-9f8c-0ed2425749ce DEBUG util.py:445: Openstack-Request-Id: req-7062515a-d193-449b-8542-ae4466d284c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "59b28293-c084-44aa-9f8c-0ed2425749ce", "created_at": "2023-04-19T16:16:00.662330+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/59b28293-c084-44aa-9f8c-0ed2425749ce", "rel": "self"}, {"href": "http://localhost/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce/ports", "rel": "self"}, {"href": "http://localhost/portgroups/59b28293-c084-44aa-9f8c-0ed2425749ce/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-70235ba0-d552-41d7-9b31-66641d20c3eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-70235ba0-d552-41d7-9b31-66641d20c3eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-f0ddd002-45e8-4213-a597-2187e37f64ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f0ddd002-45e8-4213-a597-2187e37f64ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-56b7babb-7b98-4363-95b3-8ba04549ae5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.007066+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-56b7babb-7b98-4363-95b3-8ba04549ae5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.007066+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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_ports_port_id_delete_admin [0.059930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.014213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.014580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.015023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.036457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_ports_port_id_delete_reader [0.057549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.018874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_ports_port_id_patch_member [0.135467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.015100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.034673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_ports_get_member [0.068976s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.049597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.046477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.023433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.038309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.019393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_ports_get_admin [0.115060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_portgroups_ports_get_reader [0.067388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.015774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.015333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.039723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.017056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.020205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.041695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.016642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_portgroups_ports_detail_get_member [0.071463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_nodes_ports_detail_get_reader [0.083161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.021990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.016600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.048506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.018704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.022034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_165_portgroups_ports_detail_get_reader [0.072487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_161_portgroups_ports_get_member [0.069794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.022234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.023726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.018163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.014800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.026374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.016181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.019513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_volume_get_admin [0.063033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.021825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.021313s] ... 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-1e5f3f6c-64ae-47a9-a8a5-cf9dad99d31c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-453314cd-6e1f-4339-bfa3-89ca475bcd5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:00.957591+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-453314cd-6e1f-4339-bfa3-89ca475bcd5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:00.957591+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-87789bef-8bec-4b2b-84d9-2490d72363b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87789bef-8bec-4b2b-84d9-2490d72363b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9de9e33b-b6d4-49f1-8984-29a4fc0489dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-9de9e33b-b6d4-49f1-8984-29a4fc0489dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6c1c882d-658e-4f82-b882-77f278b550d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.326800+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-6c1c882d-658e-4f82-b882-77f278b550d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.326800+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-0b30c0ea-292f-47dd-ad49-741b2ec91838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0b30c0ea-292f-47dd-ad49-741b2ec91838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_167_volume_get_member [0.078984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.037411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.037651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_volume_connectors_get_member [0.065310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.024232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.022665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.017031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.064560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.022599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.016807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.019020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_volume_connectors_post_admin [0.145710s] ... 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3df8f5cd-1aff-4442-a094-b076704e24cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3df8f5cd-1aff-4442-a094-b076704e24cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9c489ca-9b27-450a-a213-b5108befe31b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f9c489ca-9b27-450a-a213-b5108befe31b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f9f7917-5d93-4a1c-ae75-8b55051fc573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-1f9f7917-5d93-4a1c-ae75-8b55051fc573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a0f78f23-234a-4f49-bba1-a32d031559d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a0f78f23-234a-4f49-bba1-a32d031559d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-175c041d-3ce6-43eb-a81d-d5b3ba1ecf7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-175c041d-3ce6-43eb-a81d-d5b3ba1ecf7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-08d65ede-bc67-4879-82ee-da51812a6ad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-08d65ede-bc67-4879-82ee-da51812a6ad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8ffd7557-44d1-49e9-bbb0-ff2ab720778b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-8ffd7557-44d1-49e9-bbb0-ff2ab720778b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-abee63bb-462d-4d3b-bc75-0076af1e4aa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-abee63bb-462d-4d3b-bc75-0076af1e4aa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_volume_connectors_get_reader [0.061799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.026896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.044473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_173_volume_connectors_post_member [0.061577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.019584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.016471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.017385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.016817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.016913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.050339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_177_volume_volume_connector_id_get_reader [0.067548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.032316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_simple [0.034156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.024649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_volume_volume_connector_id_patch_member [0.157913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_volume_volume_connector_id_patch_admin [0.065434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.018818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.041820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.026392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.017166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_183_volume_volume_connector_id_delete_reader [0.074052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.038406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.104081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_volume_targets_get_admin [0.115068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.045765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.025333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_volume_targets_get_member [0.064433s] ... 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-5a93be15-ec10-4117-8ee2-a26a69b547ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-5a93be15-ec10-4117-8ee2-a26a69b547ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/a757540b-d54c-4ffd-a4e2-a794dffda2f7 DEBUG util.py:445: Openstack-Request-Id: req-08f61993-3c63-4027-b969-bdfd513f6dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a757540b-d54c-4ffd-a4e2-a794dffda2f7", "created_at": "2023-04-19T16:16:01.680347+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/a757540b-d54c-4ffd-a4e2-a794dffda2f7", "rel": "self"}, {"href": "http://localhost/volume/connectors/a757540b-d54c-4ffd-a4e2-a794dffda2f7", "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/a757540b-d54c-4ffd-a4e2-a794dffda2f7 DEBUG util.py:445: Openstack-Request-Id: req-08f61993-3c63-4027-b969-bdfd513f6dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "a757540b-d54c-4ffd-a4e2-a794dffda2f7", "created_at": "2023-04-19T16:16:01.680347+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/a757540b-d54c-4ffd-a4e2-a794dffda2f7", "rel": "self"}, {"href": "http://localhost/volume/connectors/a757540b-d54c-4ffd-a4e2-a794dffda2f7", "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-1b28e4d4-434b-4ba7-bf0f-8df6a799fd62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.728015+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-1b28e4d4-434b-4ba7-bf0f-8df6a799fd62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.728015+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-9294e0c7-5834-464d-840f-46fb2618b82d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9294e0c7-5834-464d-840f-46fb2618b82d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-eceb6f5f-813f-4096-be4f-2de0a92affa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-eceb6f5f-813f-4096-be4f-2de0a92affa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-eee6f0a6-c85a-4686-ad12-c3fb35443a05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.935321+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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_190_volume_volume_target_id_get_admin [0.068271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.041595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_192_volume_volume_target_id_get_reader [0.067404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.118885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.051357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_195_volume_volume_target_id_delete_admin [0.067102s] ... 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-a5ca398f-60d4-40c4-9e4b-fdeec3bd0b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a5ca398f-60d4-40c4-9e4b-fdeec3bd0b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/e4738cd4-c4df-4181-8498-0dbb107ff720 DEBUG util.py:445: Openstack-Request-Id: req-82e0f2a1-2a60-49f1-a5ed-6ffc6edc9db8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e4738cd4-c4df-4181-8498-0dbb107ff720", "created_at": "2023-04-19T16:16:01.654048+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/e4738cd4-c4df-4181-8498-0dbb107ff720", "rel": "self"}, {"href": "http://localhost/volume/connectors/e4738cd4-c4df-4181-8498-0dbb107ff720", "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/e4738cd4-c4df-4181-8498-0dbb107ff720 DEBUG util.py:445: Openstack-Request-Id: req-82e0f2a1-2a60-49f1-a5ed-6ffc6edc9db8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e4738cd4-c4df-4181-8498-0dbb107ff720", "created_at": "2023-04-19T16:16:01.654048+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/e4738cd4-c4df-4181-8498-0dbb107ff720", "rel": "self"}, {"href": "http://localhost/volume/connectors/e4738cd4-c4df-4181-8498-0dbb107ff720", "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-a434ec0a-08d1-49a8-8825-4cdd3c01cf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a434ec0a-08d1-49a8-8825-4cdd3c01cf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-77d69f8f-ac41-4d39-9903-44cfa1603e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-77d69f8f-ac41-4d39-9903-44cfa1603e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-67c2a101-89bd-47e7-bc3c-d979c9e646d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-67c2a101-89bd-47e7-bc3c-d979c9e646d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/738730b1-3d85-4f25-9b53-93ccce9bdfb8 DEBUG util.py:445: Openstack-Request-Id: req-54b8b73a-c6f8-4732-bfaa-9a28bb721069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "738730b1-3d85-4f25-9b53-93ccce9bdfb8", "created_at": "2023-04-19T16:16:02.064817+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/738730b1-3d85-4f25-9b53-93ccce9bdfb8", "rel": "self"}, {"href": "http://localhost/volume/targets/738730b1-3d85-4f25-9b53-93ccce9bdfb8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_volume_targets_post_admin [0.073357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.040237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.070825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_188_volume_targets_post_member [0.074019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.040588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_208_drivers_get_member [0.073032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.036121s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.071845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.029430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_194_volume_volume_target_id_patch_reader [0.071075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.039532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.020722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.021352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.036734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_214_drivers_properties_get_member [0.104120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.019975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_198_nodes_volume_get_admin [0.068155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.029736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.034411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_215_drivers_properties_get_reader [0.066972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.041008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_drivers_get_admin [0.065585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.046262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.035038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.070965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.044944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.016267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_226_drivers_vendor_passthru_post_member [0.105906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.035057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.016102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.020677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.024797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.017804s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.027106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.020909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_231_drivers_vendor_passthru_delete_admin [0.112104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.021258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.033404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_drivers_driver_name_get_admin [0.251835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.037339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_drivers_driver_name_get_reader [0.064137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.041961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.042852s] ... 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-eee6f0a6-c85a-4686-ad12-c3fb35443a05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:01.935321+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1867271c-51b2-40ab-80bf-117b09a0c2d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:02.001233+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-1867271c-51b2-40ab-80bf-117b09a0c2d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-04-19T16:16:02.001233+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-69b09bae-7980-4e2a-99b8-2398d4d4d7d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69b09bae-7980-4e2a-99b8-2398d4d4d7d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/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-26190dcc-e067-407b-9d86-260e4571ad57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-26190dcc-e067-407b-9d86-260e4571ad57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3259e6c-9d80-438d-aef3-aab9655c6855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-d3259e6c-9d80-438d-aef3-aab9655c6855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6a3e185-a96a-414e-8923-30fa91a82a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6a3e185-a96a-414e-8923-30fa91a82a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-523e17bd-8d9d-4a48-8937-8e610b2d8042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-523e17bd-8d9d-4a48-8937-8e610b2d8042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73736fa6-a60c-4601-be53-02194d143458 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-73736fa6-a60c-4601-be53-02194d143458 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_233_nodes_bios_get_admin [0.123369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_nodes_bios_get_reader [0.076623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.037979s] ... 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/738730b1-3d85-4f25-9b53-93ccce9bdfb8 DEBUG util.py:445: Openstack-Request-Id: req-54b8b73a-c6f8-4732-bfaa-9a28bb721069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "738730b1-3d85-4f25-9b53-93ccce9bdfb8", "created_at": "2023-04-19T16:16:02.064817+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/738730b1-3d85-4f25-9b53-93ccce9bdfb8", "rel": "self"}, {"href": "http://localhost/volume/targets/738730b1-3d85-4f25-9b53-93ccce9bdfb8", "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/6ecfd351-8fa5-4069-97e7-21b0d7eab66f DEBUG util.py:445: Openstack-Request-Id: req-9286f29d-d147-4def-9421-a9c4c4382efd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "created_at": "2023-04-19T16:16:02.140157+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "rel": "self"}, {"href": "http://localhost/volume/targets/6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "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/6ecfd351-8fa5-4069-97e7-21b0d7eab66f DEBUG util.py:445: Openstack-Request-Id: req-9286f29d-d147-4def-9421-a9c4c4382efd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "created_at": "2023-04-19T16:16:02.140157+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "rel": "self"}, {"href": "http://localhost/volume/targets/6ecfd351-8fa5-4069-97e7-21b0d7eab66f", "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-742aa0f5-0d7d-4c20-a0fa-157667296690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-742aa0f5-0d7d-4c20-a0fa-157667296690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95a1d1db-44dd-463a-b390-b7ebb89fce19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-95a1d1db-44dd-463a-b390-b7ebb89fce19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad74190f-7d65-4b48-8287-2cb714974374 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-ad74190f-7d65-4b48-8287-2cb714974374 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-11547691-132c-4d8a-9fbb-a7e73a45482a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-11547691-132c-4d8a-9fbb-a7e73a45482a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6dc4d159-a558-4a2c-990f-bcdb646f1879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6dc4d159-a558-4a2c-990f-bcdb646f1879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_216_drivers_raid_logical_disk_properties_get_admin [0.065139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.063755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_236_nodes_bios_bios_setting_get_admin [0.079797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_217_drivers_raid_logical_disk_properties_get_member [0.101262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.026456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.040640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_238_nodes_bios_bios_setting_get_reader [0.069974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.022869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_221_drivers_vendor_passthru_methods_get_reader [0.083555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.021240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.029746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_drivers_vendor_passthru_get_admin [0.058237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_239_conductors_get_admin [0.068712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_drivers_vendor_passthru_get_member [0.070331s] ... 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-247df758-cda7-4e1a-b167-a7431675bc55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:16:02.647866+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-247df758-cda7-4e1a-b167-a7431675bc55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:16:02.647866+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3cb476a-228a-40f2-b25c-e07acad5412b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:16:02.732383+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-a3cb476a-228a-40f2-b25c-e07acad5412b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"bios": [{"created_at": "2023-04-19T16:16:02.732383+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-8e41c875-0a88-4282-81d4-fe1569f6328d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:16:02.809788+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e41c875-0a88-4282-81d4-fe1569f6328d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:16:02.809788+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65e2b755-9335-4e78-ab3d-f0d28f370f9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:16:02.886046+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65e2b755-9335-4e78-ab3d-f0d28f370f9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-04-19T16:16:02.886046+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0899c28f-4933-4f75-b054-7c24730fe3b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-0899c28f-4933-4f75-b054-7c24730fe3b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d56f4abf-31a7-4057-9e5a-f6e9fafcc7c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_247_allocations_post_reader [0.060331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_drivers_vendor_passthru_get_reader [0.057207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_allocations_get_member [0.071669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.678473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_drivers_vendor_passthru_post_reader [0.067061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.227957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_250_allocations_get_reader [0.084595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.050658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.032442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_drivers_vendor_passthru_put_admin [0.059163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.036148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.052357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_allocations_allocation_id_patch_admin [0.072184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.024250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.054238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.032047s] ... ok 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-519f3b12-bfba-4e90-9041-9acc6f270cdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-519f3b12-bfba-4e90-9041-9acc6f270cdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-63d61117-2f47-49a6-8a93-f01878f1318c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-63d61117-2f47-49a6-8a93-f01878f1318c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dbf65af3-2103-442d-a2a4-de2f08f01618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-dbf65af3-2103-442d-a2a4-de2f08f01618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91e2199b-d500-4102-9bec-88d4c6a2dcde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-91e2199b-d500-4102-9bec-88d4c6a2dcde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-69e2b904-6e8f-4424-a62a-8662a04a5ad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-69e2b904-6e8f-4424-a62a-8662a04a5ad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-12d372ad-8fcb-42c7-bfc4-be8ca4823f92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-12d372ad-8fcb-42c7-bfc4-be8ca4823f92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a297a4af-c100-4056-9c3b-1091e1785ad8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a297a4af-c100-4056-9c3b-1091e1785ad8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97fca9dc-3bd5-468f-9890-40b5f26dc271 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-97fca9dc-3bd5-468f-9890-40b5f26dc271 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c7937cb6-a285-486f-a72e-52337aee0b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_229_drivers_vendor_passthru_put_member [0.070726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.026729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.026091s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_nodes_allocation_get_member [0.081803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_240_conductors_get_member [0.066431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.032647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.041687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.020256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.027396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.018231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_241_conductors_get_reader [0.068921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.025199s] ... 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-d56f4abf-31a7-4057-9e5a-f6e9fafcc7c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54df31d1-dadf-43fb-9852-c86ef68f1d52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "91a4c5d1-c642-46f1-81a5-0f01ca83017a", "created_at": "2023-04-19T16:16:03.063006+00:00", "updated_at": "2023-04-19T16:16:03.069418+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/91a4c5d1-c642-46f1-81a5-0f01ca83017a", "rel": "self"}, {"href": "http://localhost/allocations/91a4c5d1-c642-46f1-81a5-0f01ca83017a", "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-54df31d1-dadf-43fb-9852-c86ef68f1d52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "91a4c5d1-c642-46f1-81a5-0f01ca83017a", "created_at": "2023-04-19T16:16:03.063006+00:00", "updated_at": "2023-04-19T16:16:03.069418+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/91a4c5d1-c642-46f1-81a5-0f01ca83017a", "rel": "self"}, {"href": "http://localhost/allocations/91a4c5d1-c642-46f1-81a5-0f01ca83017a", "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-88920c2e-a92d-4699-93da-aa95cca077fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "a7f533ea-142a-469c-bd47-14372254f548", "created_at": "2023-04-19T16:16:03.142764+00:00", "updated_at": "2023-04-19T16:16:03.151024+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a7f533ea-142a-469c-bd47-14372254f548", "rel": "self"}, {"href": "http://localhost/allocations/a7f533ea-142a-469c-bd47-14372254f548", "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-88920c2e-a92d-4699-93da-aa95cca077fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "a7f533ea-142a-469c-bd47-14372254f548", "created_at": "2023-04-19T16:16:03.142764+00:00", "updated_at": "2023-04-19T16:16:03.151024+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a7f533ea-142a-469c-bd47-14372254f548", "rel": "self"}, {"href": "http://localhost/allocations/a7f533ea-142a-469c-bd47-14372254f548", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/1ebdf84c-7d77-4246-b7db-24be1f000e21 DEBUG util.py:445: PATCH: /v1/allocations/1ebdf84c-7d77-4246-b7db-24be1f000e21 [{'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-5bacd3a0-5486-4007-9948-31d848eabf25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ebdf84c-7d77-4246-b7db-24be1f000e21", "created_at": "2023-04-19T16:16:03.219330+00:00", "updated_at": "2023-04-19T16:16:03.262884+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/1ebdf84c-7d77-4246-b7db-24be1f000e21", "rel": "self"}, {"href": "http://localhost/allocations/1ebdf84c-7d77-4246-b7db-24be1f000e21", "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-5bacd3a0-5486-4007-9948-31d848eabf25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "1ebdf84c-7d77-4246-b7db-24be1f000e21", "created_at": "2023-04-19T16:16:03.219330+00:00", "updated_at": "2023-04-19T16:16:03.262884+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/1ebdf84c-7d77-4246-b7db-24be1f000e21", "rel": "self"}, {"href": "http://localhost/allocations/1ebdf84c-7d77-4246-b7db-24be1f000e21", "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-24369cda-4ab2-4904-95a3-fe871a09b925 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "5fbeac64-c13f-4084-8072-abb431dce063", "created_at": "2023-04-19T16:16:03.307135+00:00", "updated_at": "2023-04-19T16:16:03.313719+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5fbeac64-c13f-4084-8072-abb431dce063", "rel": "self"}, {"href": "http://localhost/allocations/5fbeac64-c13f-4084-8072-abb431dce063", "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-24369cda-4ab2-4904-95a3-fe871a09b925 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "5fbeac64-c13f-4084-8072-abb431dce063", "created_at": "2023-04-19T16:16:03.307135+00:00", "updated_at": "2023-04-19T16:16:03.313719+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5fbeac64-c13f-4084-8072-abb431dce063", "rel": "self"}, {"href": "http://localhost/allocations/5fbeac64-c13f-4084-8072-abb431dce063", "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-a99a62d0-2d24-434a-a1cf-3e9b6a985f82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_deploy_templates_post_member [0.073329s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.029025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_deploy_templates_get_admin [0.058924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.069657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.030367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_conductors_hostname_get_member [0.064470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.040579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_deploy_templates_get_member [0.073200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.076647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_244_conductors_hostname_get_reader [0.075489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_272_deploy_templates_deploy_template_id_get_admin [0.070696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.091895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_246_allocations_post_member [0.065485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.078206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.023459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.047821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_274_deploy_templates_deploy_template_id_get_reader [0.061468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.029800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_248_allocations_get_admin [0.069887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.032975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.066192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.040390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.035739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_275_deploy_templates_deploy_template_id_patch_admin [0.095497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.034349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.052342s] ... 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-c7937cb6-a285-486f-a72e-52337aee0b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cdb93efc-e015-4e9c-ab89-5be8c5817d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-cdb93efc-e015-4e9c-ab89-5be8c5817d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6dd6f50-ab52-4ac6-9c3f-730a5dcb7713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c6dd6f50-ab52-4ac6-9c3f-730a5dcb7713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-eb92339d-e539-44a4-bc16-61cda6e2f3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:16:03.476857+00:00", "updated_at": "2023-04-19T16:16:03.477787+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-eb92339d-e539-44a4-bc16-61cda6e2f3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:16:03.476857+00:00", "updated_at": "2023-04-19T16:16:03.477787+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-f7477ca8-0c80-4425-a118-40103fb6af65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:16:03.548756+00:00", "updated_at": "2023-04-19T16:16:03.549623+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-f7477ca8-0c80-4425-a118-40103fb6af65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"created_at": "2023-04-19T16:16:03.548756+00:00", "updated_at": "2023-04-19T16:16:03.549623+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-55485b15-1171-4c3b-befa-a1a735a7d3cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55485b15-1171-4c3b-befa-a1a735a7d3cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-a75b1e35-0b53-4d33-a458-7663c8f6bdbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "560d0715-6092-4424-9df1-c145f92df3db", "created_at": "2023-04-19T16:16:03.667565+00:00", "updated_at": "2023-04-19T16:16:03.674648+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/560d0715-6092-4424-9df1-c145f92df3db", "rel": "self"}, {"href": "http://localhost/allocations/560d0715-6092-4424-9df1-c145f92df3db", "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-a75b1e35-0b53-4d33-a458-7663c8f6bdbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"allocations": [{"uuid": "560d0715-6092-4424-9df1-c145f92df3db", "created_at": "2023-04-19T16:16:03.667565+00:00", "updated_at": "2023-04-19T16:16:03.674648+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/560d0715-6092-4424-9df1-c145f92df3db", "rel": "self"}, {"href": "http://localhost/allocations/560d0715-6092-4424-9df1-c145f92df3db", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/4327291d-3751-4140-91e1-1562a505386d DEBUG util.py:445: GET: /v1/allocations/4327291d-3751-4140-91e1-1562a505386d {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_253_allocations_allocation_id_get_reader [0.073625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.036883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_258_allocations_allocation_id_delete_member [0.078675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.050031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.019261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.024131s] ... 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-a99a62d0-2d24-434a-a1cf-3e9b6a985f82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce797b64-b9f4-401b-97e4-72487d8da784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "841f1b12-4644-4ee4-84d4-0df895f6fe89", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/841f1b12-4644-4ee4-84d4-0df895f6fe89", "rel": "self"}, {"href": "http://localhost/deploy_templates/841f1b12-4644-4ee4-84d4-0df895f6fe89", "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-ce797b64-b9f4-401b-97e4-72487d8da784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "841f1b12-4644-4ee4-84d4-0df895f6fe89", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/841f1b12-4644-4ee4-84d4-0df895f6fe89", "rel": "self"}, {"href": "http://localhost/deploy_templates/841f1b12-4644-4ee4-84d4-0df895f6fe89", "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-23142912-3961-4f0f-bced-190879d8d2b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5412390e-51be-411d-b79e-2412fa465e26", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/5412390e-51be-411d-b79e-2412fa465e26", "rel": "self"}, {"href": "http://localhost/deploy_templates/5412390e-51be-411d-b79e-2412fa465e26", "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-23142912-3961-4f0f-bced-190879d8d2b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5412390e-51be-411d-b79e-2412fa465e26", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/5412390e-51be-411d-b79e-2412fa465e26", "rel": "self"}, {"href": "http://localhost/deploy_templates/5412390e-51be-411d-b79e-2412fa465e26", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580 DEBUG util.py:445: GET: /v1/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9e9f777-3409-4dc0-b8d5-e75f08886c38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "218f8b1c-2560-4dcc-91b2-761222256580", "created_at": "2023-04-19T16:16:03.604204+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580", "rel": "self"}, {"href": "http://localhost/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580", "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-c9e9f777-3409-4dc0-b8d5-e75f08886c38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "218f8b1c-2560-4dcc-91b2-761222256580", "created_at": "2023-04-19T16:16:03.604204+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580", "rel": "self"}, {"href": "http://localhost/deploy_templates/218f8b1c-2560-4dcc-91b2-761222256580", "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/b62a68a2-8bb0-4082-acc3-fd0c54518c9f DEBUG util.py:445: GET: /v1/deploy_templates/b62a68a2-8bb0-4082-acc3-fd0c54518c9f {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-913a5502-9df6-470f-9a50-fa1af63628d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "created_at": "2023-04-19T16:16:03.660806+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "rel": "self"}, {"href": "http://localhost/deploy_templates/b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "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-913a5502-9df6-470f-9a50-fa1af63628d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "created_at": "2023-04-19T16:16:03.660806+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "rel": "self"}, {"href": "http://localhost/deploy_templates/b62a68a2-8bb0-4082-acc3-fd0c54518c9f", "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/76fa5bf1-a72a-4ff4-a428-83869da113cf DEBUG util.py:445: PATCH: /v1/deploy_templates/76fa5bf1-a72a-4ff4-a428-83869da113cf [{'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-a3b6cc1c-d565-4d53-b860-f19685c62637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "76fa5bf1-a72a-4ff4-a428-83869da113cf", "created_at": "2023-04-19T16:16:03.740762+00:00", "updated_at": "2023-04-19T16:16:03.778398+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/76fa5bf1-a72a-4ff4-a428-83869da113cf", "rel": "self"}, {"href": "http://localhost/deploy_templates/76fa5bf1-a72a-4ff4-a428-83869da113cf", "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-a3b6cc1c-d565-4d53-b860-f19685c62637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "76fa5bf1-a72a-4ff4-a428-83869da113cf", "created_at": "2023-04-19T16:16:03.740762+00:00", "updated_at": "2023-04-19T16:16:03.778398+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/76fa5bf1-a72a-4ff4-a428-83869da113cf", "rel": "self"}, {"href": "http://localhost/deploy_templates/76fa5bf1-a72a-4ff4-a428-83869da113cf", "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/2732eb35-f4b2-49a6-b49f-9c41d9e44280 DEBUG util.py:445: DELETE: /v1/deploy_templates/2732eb35-f4b2-49a6-b49f-9c41d9e44280 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_280_deploy_templates_deploy_template_id_delete_reader [0.070402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.022335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.061537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_265_nodes_allocation_delete_reader [0.071539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_chassis_detail_get_admin [0.088117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.031527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.037422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.029198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_268_deploy_templates_post_reader [0.060196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.023280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.051142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_chassis_chassis_id_get_admin [0.071193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.019198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.016787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.021788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.022912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_279_deploy_templates_deploy_template_id_delete_member [0.064600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.017130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.032628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_292_chassis_chassis_id_get_reader [0.074089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.016399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.020381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_281_chassis_post_admin [0.063221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.021301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.018244s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.022288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_chassis_chassis_id_patch_admin [0.082703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.019054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.036299s] ... 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-45ffd4c9-c0f0-426b-999a-ffebc51e9148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4327291d-3751-4140-91e1-1562a505386d", "created_at": "2023-04-19T16:16:03.745539+00:00", "updated_at": "2023-04-19T16:16:03.755143+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4327291d-3751-4140-91e1-1562a505386d", "rel": "self"}, {"href": "http://localhost/allocations/4327291d-3751-4140-91e1-1562a505386d", "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-45ffd4c9-c0f0-426b-999a-ffebc51e9148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "4327291d-3751-4140-91e1-1562a505386d", "created_at": "2023-04-19T16:16:03.745539+00:00", "updated_at": "2023-04-19T16:16:03.755143+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4327291d-3751-4140-91e1-1562a505386d", "rel": "self"}, {"href": "http://localhost/allocations/4327291d-3751-4140-91e1-1562a505386d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/a2cddd08-7b80-499d-ad1f-3fab7036cb83 DEBUG util.py:445: DELETE: /v1/allocations/a2cddd08-7b80-499d-ad1f-3fab7036cb83 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad62d531-874e-443d-b24b-4368d9ee7d7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad62d531-874e-443d-b24b-4368d9ee7d7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c86a44ad-dc96-41bf-bf47-9a921760ba7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-c86a44ad-dc96-41bf-bf47-9a921760ba7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7489a216-342f-4376-ad5e-000ff6498226 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-7489a216-342f-4376-ad5e-000ff6498226 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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 delete /v1/deploy_templates/fe681c0c-af42-4f16-9844-3355d357686d DEBUG util.py:445: DELETE: /v1/deploy_templates/fe681c0c-af42-4f16-9844-3355d357686d DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-694fb061-b532-44cd-af04-6fb4162c235a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-694fb061-b532-44cd-af04-6fb4162c235a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a DEBUG util.py:445: Openstack-Request-Id: req-bb510b82-b3f3-4352-85a8-9d476c10c9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "created_at": "2023-04-19T16:16:04.120260+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "rel": "self"}, {"href": "http://localhost/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a/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/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a DEBUG util.py:445: Openstack-Request-Id: req-bb510b82-b3f3-4352-85a8-9d476c10c9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "created_at": "2023-04-19T16:16:04.120260+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "rel": "self"}, {"href": "http://localhost/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c1c8c63a-2a0a-4fd6-82f0-0406b4205f0a/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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_294_chassis_chassis_id_patch_member [0.067764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.040785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_node_history_get_member [0.070159s] ... 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-f6994eef-af29-4468-ac36-9e48df942ec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-f6994eef-af29-4468-ac36-9e48df942ec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-57abd4e4-170f-4ca3-960a-c21f3cd2421b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:03.912350+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-57abd4e4-170f-4ca3-960a-c21f3cd2421b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:03.912350+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-6c90e7b9-7a93-4ace-bbf6-522262917853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:03.986004+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-6c90e7b9-7a93-4ace-bbf6-522262917853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:03.986004+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-d0a5d546-1bed-4a32-88d7-ba1536b5d05a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.053030+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-d0a5d546-1bed-4a32-88d7-ba1536b5d05a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.053030+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-555995fc-3ade-4935-a4c5-00db6e1645b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.135108+00:00", "updated_at": "2023-04-19T16:16:04.168237+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-555995fc-3ade-4935-a4c5-00db6e1645b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.135108+00:00", "updated_at": "2023-04-19T16:16:04.168237+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_298_chassis_chassis_id_delete_reader [0.065746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.036217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_node_history_get_entry_admin [0.067452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.049203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.032065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.041856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.031838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_304_node_history_get_entry_reader [0.067773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.021324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.025074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.041705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.021715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.016498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.026832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.037740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.033751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.020731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.025998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.047978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.039600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.033497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.030203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.046787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.027762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.024894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.028893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.025960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.481919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.026469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.025340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.022826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.043683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.021116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.045575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.022948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.029771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.023377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.027116s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.028228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.021353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.016250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.030899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.015930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.023738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.019600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.042174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.018468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.031943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.026935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.044482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.049716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.034165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.035921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.065026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.085813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.023150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.027947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.083105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.096169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.040355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.049945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.031910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.026713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.077311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.017396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.018318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.024163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.235491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.027806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.089570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.032600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.057325s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.623399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.032507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.037846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.027665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.083359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.033882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.032510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.048937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.024951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.027619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.039502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.025268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.070304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.037979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.040135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.040154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.014684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.026690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.039922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.025606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.088345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.060471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.025329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.019908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.037907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.022380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.015924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.042792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.044090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.081433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.036715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.033093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.037522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.023586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.037209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.035185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.069960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.040690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.019101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.023583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.044734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.018216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.045197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.034453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.019669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.026560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.017572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.025800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.054543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.028692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.024857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.020407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.017424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.032212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.047693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.022478s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.044279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.026533s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.025864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.028201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.017768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.057295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.021078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.051887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.020681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.023738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.027861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.047007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.020892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.024859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.061929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.022003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.018734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.042752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.024194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.039555s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.054426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.019102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.034086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.016051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.025227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.044694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.031852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.041731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.037405s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.023996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.042137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.045361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.026590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.044538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.021239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.017315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.021037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.038961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.018535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.022916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.021471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.020837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.018409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.051269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.020425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.017566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.051359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.016947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.022075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.015718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.044558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.019201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.015627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.023033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.019492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.028144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.055149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.023425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.024553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.021715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.033440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.021033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.020503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.022876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.015570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.021352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.027476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.018335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_source_path [0.043235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.020337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.022208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.031474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.017755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.036875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.030095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.015318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.024100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.014796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.023612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.033926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.014989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.017510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.017518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.039191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.016133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.020713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.043225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.026287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.056753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.057242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.021170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.041408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.016406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.016310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.049534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.047810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.016013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.015414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.038597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.020665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.048358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.017351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.038104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.019949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.037112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.017172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.026654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.024706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.020043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.019329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.022851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.021760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.018297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.015294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.196061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.018583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.013968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.037756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.021598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.020067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.015662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.044190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.035379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.055118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.033293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.036946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.023171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.019158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.016654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.029306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.055755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.015645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.039959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.020808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.026176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.018428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.036471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.020200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.018719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.026527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.041467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.024759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.020202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.038968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.020242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.022692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.016551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.045560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.015131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.017655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.045145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.022488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.015587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.016497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.039515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.049325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.013494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.032246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.032437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.039910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.050320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.039157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.037800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.044285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.025423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.038125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.056766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.036796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.050751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.041505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.039649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.036196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.038545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.104003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.016710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.039388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.032290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.017044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.025821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.018394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.037218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.051802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.022280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.034663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.031312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.045162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.017070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.016235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.038203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.018267s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.044529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.033465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.022764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.016065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.017785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.018836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.019493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.047741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.019623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.018038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.015341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.021897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.048796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.083144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.020435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.016330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.017560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.017273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.055916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.026083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.052255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.045087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.099644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.042043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.042611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.046295s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.045860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.088181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.052870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.441986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.038549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.043062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.078732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.052058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.034197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.047978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.053260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.025245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.019164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.029037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.022269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.017969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.033172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.017270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.025196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.021481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.017610s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.036803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.017510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.023808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.018357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.024514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.021783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.023259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.024405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.020302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.016669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.029251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.039396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.018256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.369052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.433353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.040852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.090798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.036286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.071842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.039195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.055067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.045827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.044775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.050092s] ... 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.036235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.071376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.037797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.026927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.227300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.089571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.027380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.078222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.039104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.037152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.039162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_name_match_first [0.069872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.033439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.060716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.032531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.063414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.059252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.028917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.021124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.035884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.080014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.049608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.021263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.035486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.020092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.042844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.023270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.041341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.023869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.107671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.019974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.036481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.067166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.024827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.044730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.036915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.054025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.078823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.040756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.037412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.077196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.038475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.053536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.076836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.040898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.044771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.041264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.041441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.052790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.068999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.063817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.034005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.057239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.029632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.040819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.051711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.018533s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.033316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.021798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.032251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.017927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.060273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.022386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.021830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.022435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.018527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.284002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.021547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.033648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.066057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.029584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.034011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.032402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.022567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.019431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.035966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.064341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.019340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.022399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.018187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.089123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.022576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.061255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.039786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.018983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.042925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.046782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.089197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.039012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.055310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_insecure_heartbeat [0.034723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.196673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.035849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.053242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.087969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.032427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.051638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.050038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.028785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.043825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.073542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.112145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.026596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.069438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.030210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.049652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.067267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.025827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.027297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.042109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.056630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.022847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.124011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.040425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.050764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.043991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.026401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.034645s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.053578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.028012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.032949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.109447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.035255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.049011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.026684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.031217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.023230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.040593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.019431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.017855s] ... 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.040089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.107286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.015983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.016173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.031080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.118012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.015269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.021527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.017425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.021626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.041440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_records_lessee [0.106724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.052455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.099222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_no_rpc [0.030518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.016972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.056009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.050485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.049399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.035270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.032860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.019650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.045972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.017207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.044954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.017311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.045441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.018245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.014933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.055612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.060283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.014999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.039077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.014993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.035647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.014950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.018567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.037256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.029771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.022960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.093919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.018410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.021996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.116906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.017584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.021926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.025804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.031711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_good [0.018674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.015903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.031981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.098888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.026819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.029371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.019628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.043170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.139581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.016678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.019154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.098728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.014689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.054089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.014737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.015509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.028531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.014522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.095021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.019892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.028025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.019034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.095006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.014209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.043716s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.019943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.015641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.016370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.097305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.049678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.088247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.033291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.027472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.061989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_failure [0.037009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.109822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.049294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.041308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.113034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.016122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.021054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.018986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.101946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.084685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.023546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.019330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.020730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.024329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.133999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.035124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.120464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.108085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.086709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.036659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.064035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.101644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.043727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.030301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.098170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.071349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.028427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.122863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.117794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.061220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.124094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.040505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.045422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.113951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.090688s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.187393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.046259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.038487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.102403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.099071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.034269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.162187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.071417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.037217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.126776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.074989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.147746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.072061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.086014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.038305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.033587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.161658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.160588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.033771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.047630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.036743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.110893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.039282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.258247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.086053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.105725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.237583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.072934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.085130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.219764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.103115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.040302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.043645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.090765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.055510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.028821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.081440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.097885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.027402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.081654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.045899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.064590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.095197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.096822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.124178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.055157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.048896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.097289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.058685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.101063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.068989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.053883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.079937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.061782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.050638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.103662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.065012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.096562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.074493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.047083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.106352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.055604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.048891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.056670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.056984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.110319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.053225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.053792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.067694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.261406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.081937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.115408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.064972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.080052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.089460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.091173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.044731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.048720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.072705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.053244s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.102680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.071958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.058837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.094469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.061502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.065115s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.102395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.100648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.049350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.065483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.128950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.072250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.101484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.086848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.107707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.039840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.133999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.141691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.096888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.060249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.064360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.085924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.103602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.078399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.102371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.098797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.116185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.113070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.155631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.106821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.096343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.088366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.111528s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.110292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.091652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.135697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.097472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.085656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.042898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.103622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.117366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.028509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.022311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.097785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.031138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.021965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.026598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.100605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.036789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.111966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.031555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.022361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.026338s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.027586s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.108081s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.035204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.099075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.106275s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.041075s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.040343s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.025642s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.100719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.027629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.090656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.055295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.028092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.043586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.036074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.035881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.028506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.045816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.024572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.117081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.104262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.044599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.083458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.058369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.093555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.101858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.103228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.077382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.030242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.127715s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.039029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.083173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.131663s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.033269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.039056s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.045399s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.042789s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.032374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.098169s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.034846s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.141639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.030054s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.036060s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.027255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.093846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.022900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.169169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.020892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.178786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.021245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.048027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.099604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.055211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.079331s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.099743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.044781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.036590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.049664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.123857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.045016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.101745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.161614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.059037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.107800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.103653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.038264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.075738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.048113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.162926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.091493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.075019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.107023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.073251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.090701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.105856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.098457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.113051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.093647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.078850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.039004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.036183s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.097131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.105493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.046886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.037064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.047870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.116593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.124887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.043730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.077487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.299185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.046006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.019273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.021794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.040696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.112069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.040590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.092064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.044761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.046927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.098621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.038534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.050375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.118578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.080564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.034349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.024912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.049877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.082637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.035620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.092269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.074369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.044937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.117276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.037964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.368190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.041475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.119381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.086213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.106438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.079947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.101399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.089013s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.090976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.201524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.040032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.085827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.023697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.034031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.037963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.032555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.049882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.034037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.038196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.046316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.038481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.082036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.053753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.039361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.043105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.048697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.055088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.056685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.094472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.085448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.086893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.108844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.084857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.102708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.116746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.261996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.101462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.030202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.096273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.043236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.032023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.057718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.056663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.112218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.108353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.052606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.050347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.040443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.038884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.090467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.052932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.030298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.025039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.034144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.035301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.192142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.096797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.096616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.093440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.116093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.075757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.050577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.083486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.048139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.086217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.043393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.102849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.045216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.087839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.035698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.087454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.091759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.097073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.034517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.088503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.078736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.048530s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.073865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.079921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.051857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.053667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.083780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.078865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.055072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.086174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.090999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.075016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.072289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.085763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.079122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.043503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.093065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.026695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.091031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.032449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.082896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.030453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.067331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.044136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.030054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.022309s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.089639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.103892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.021655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.023429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.042056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.030791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.036933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.017101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.031586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.019368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.019281s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.019628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.020292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.019490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.085120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.018980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.026766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.027540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.083731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.020209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.025744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.020229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.023339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.019935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.095027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.019728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.028336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.019629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.020614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.019103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.019848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.026497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.021299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.022319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.020548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.020220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.021071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.020644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.019864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.021678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.025909s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.031920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.026164s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.030836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.028429s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.628513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.030906s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.054757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.036979s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.054360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.048043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.101418s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.032134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.033650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.021092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.022192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.036888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.020897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.108348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.046818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.035178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.022719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.036975s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.025787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.037786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.022332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.081345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.025623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.032859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.034912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.073130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.082836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.066173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.036954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.051993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.040591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.032883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.033041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.092866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.032918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.103837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.030952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.021690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.036275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.033998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.063899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.027117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.021817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.052988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.017784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.022884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.017612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.023142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.016674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.108532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.016300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.028864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.017452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.215407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.023473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.024613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.022533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.030215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.027991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.038398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.039718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.111619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.042936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.027296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.037030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.036815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.036209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.089876s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.041421s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.025068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.042249s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.029841s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.038876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.059939s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.031389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.046262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.032742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.027798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.025893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.035608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.029714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.026161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.026046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.038637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.023076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.022797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.019127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.029245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.022119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.019751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.024605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.268550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.024655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.022861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.022669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.022167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.033082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.042379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.028155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.024220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.082201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.052356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.043724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.038987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.077510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.033713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.037482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.043701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.047069s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.024523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.041942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.019991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.028317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.080055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.021026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.042992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.030569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.029156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.039907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.072877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.068686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.038038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.048026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.041152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.045045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.034527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.041332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.043853s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.038091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.034705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.040691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.030807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.070287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.039303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.030185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.039292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.037730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.068026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.047564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.030803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.041967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.064623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.037796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.109422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.029807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.035476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.019027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.040800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.024611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.085444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.032234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.018971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.098663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.030786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.022958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.017935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.032450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.020198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.017103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.099322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.084959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.027334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.026312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.083039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.035876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.031155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.097395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.099128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.034628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.048247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.042824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.031137s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.096473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.029904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.051428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.028353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.026518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.033567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.039472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.092319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.022906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.042892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.023405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.020227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.034309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.017355s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.033823s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.053928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.052024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.295368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.121601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.042574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.054894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.067301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.026459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.033993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.060906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.139860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.040966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_already [0.050136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.037409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.026693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.038734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.085753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.021704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.061757s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.021352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.018611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.092714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.047281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.035129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.033567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.047606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.033985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.038872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.042304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.048338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.033364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.084755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.044360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.036883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.025516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.035385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.042289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.059993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.033084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.048556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.018372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [0.536805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.037881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.074903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.050513s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.038286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.047076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.077321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.122677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.083955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.023382s] ... 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.068674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.051025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.029820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.039496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.036015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.045374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.025653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.032441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.028288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.035835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.041891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.034536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.035001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.056175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.057186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.041797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.049507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.089492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.035129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.040300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.037399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.104917s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.051142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.086700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.062792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.033170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.036808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.040870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.036110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.024004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.072416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.036373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.026523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.049615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.032672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.075919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.114319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.050601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.023223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.049227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.043901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.044641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.049108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.024845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.038030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.056847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.027724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.073370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.024257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.042750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.041938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.037286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.044988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.028729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.086104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.065251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.031482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.052996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.033922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.035651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.053104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.035169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.017692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.029653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.029793s] ... 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.038452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.016466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.035523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.099075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.024111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.035704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.035096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.033991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.015903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.050860s] ... 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.061522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.019687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.020542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.028105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.020702s] ... 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.043931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.020771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.146305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.019495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.026483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.022104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.025293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.061294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.031685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.040514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.030009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.024120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.060891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.023839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.029932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.020193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.025006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.052077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.031913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.022388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.023867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.021888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.024592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.023103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.021992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.021781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.019179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.275554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.023487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.034550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.021042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.034621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.022472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.020142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.019967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.030216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.018328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.020477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.020587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.024858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.019996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.245228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.033067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.033520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.052369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.040809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.039232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.173391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.032224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.039403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.034683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.038104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.040887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.045733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.036964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.038282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.036390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.035299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.043696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.026437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.054283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.037967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.034012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.034149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.049108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.024431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.027482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.042665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.029598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.041002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.044533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.243824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.042309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.116930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.021649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.036737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.033501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.028646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.030415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.040032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.065227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.024616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.035068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.040407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.032190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.044118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.037012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.033452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.035034s] ... ok 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_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.031008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.038218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.036828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.046890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.016860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.025614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.016383s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.035965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.040819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.022221s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.017545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.030210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.040166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.033228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.040321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.025737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.026113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.041360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.042615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.028604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.033268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.035659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.033361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.035760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.024163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.032578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.030790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.034802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.036047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.032443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.034922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.038941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.036615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.027559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.036413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.183180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.036804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.026498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.044161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.025549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.092648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.031638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.039664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.016677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.178561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.037289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.067030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.022461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.024711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.017287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.017949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.016570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.030042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.027646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.029998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.026592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.029866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.025483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.030060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.030208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.032072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.031044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.215746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.036745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.214082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.017377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.032452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.030733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.031022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.049728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.045011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.035885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.041312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.038768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.055465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.045948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.023037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.175047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.032968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.060288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.042817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.022158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.024893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.033937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.021210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.037356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.021001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.028883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.022617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.020388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.033831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.031218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.029319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.031727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.033811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.038793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.029194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.027372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.022076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.033059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.054863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.020836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.052115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.020881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.026595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.044692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.032342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.033300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.017635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.026957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.027045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.017551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.027417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.050395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.032300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.031939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.028150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.022246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.020213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.058954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.034802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.023933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.128822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.033819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.032112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.021581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.023351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.025345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.024287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.041146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.025967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.050603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.032074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.046388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.041001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.034548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.033161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.041817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.028690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.033504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.032927s] ... 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.042375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.024632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.042780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.036757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.030377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.023144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.052095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.040368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.033046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.038518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.032208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.031580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.048145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.026839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.036804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.028982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.021167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.030068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.049631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.041500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.030865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.045836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.025343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.032988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.067931s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: 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: warnings.warn("%s is an invalid UUID. Using UUIDFields " DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.040192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.080052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.156936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.046796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.065774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.022871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.039652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.034008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.030598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.039199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.082968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.022877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.040329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.023273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.034018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.022520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.256126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.044901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.041916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.032065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.022819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.033059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.023119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.020578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.044780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.052087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.048892s] ... 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.044248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.046347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.036057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.034402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.021999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.042043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.022113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.029742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.028400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.023929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.038928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.024519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.023182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.047810s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.042618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.045312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.031552s] ... 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.039605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.033557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.030928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.057819s] ... 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.047201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.029148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.036395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.024006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.046768s] ... 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.045907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.030962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.035417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.032462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.041501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.036115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.030618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.025808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.044908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.027198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.023652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.031380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.028322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.024439s] ... ok DEBUG util.py:445: {1} 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.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.034265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.025991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.113135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.022542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.032708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.020111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.024813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.024266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.026777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.016815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.041773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.032827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.016814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.018383s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.066712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.044616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.034800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.032472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.027559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.015539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.061414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.023317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.027731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.049597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.042645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.022791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.049947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.030244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.046815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.018870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.035585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.033590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.031343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.029338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.053917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.038063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.034706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.029119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.031578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.022023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.054604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.048490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.035628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.034781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.039550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.022500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.033235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.033963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.025743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.030744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.035550s] ... 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.024942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.072017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.054582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.065294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.034742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.045618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.021706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.022989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.019712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.040512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.064712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.048681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.092393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.030526s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.041389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.030990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.023207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.039117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.025783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.023655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.021404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.028868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.057234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.032412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.028186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.076673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.039726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.024800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.030487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.022678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.024669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.033025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.024802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.071014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.045120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.035964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.021400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.058425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.033543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.051573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.037431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.031582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.026986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.036798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.023573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.035519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.056148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.263110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.030418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.032644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.020942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.035180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.016726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.042053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.033689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.015643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.022835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.203077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.035007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.038815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.036337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.032960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.021418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.042150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.035319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.037220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.022159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.027456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.021083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.045447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.037863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.029025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.021127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.019946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.037082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.032504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.022141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.050453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.024057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.032667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.031420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.030318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.042613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.055321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.032268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.035611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.022875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.046653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.033713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.028697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.073286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.028578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.030635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.044672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.029017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.034500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.038887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.063232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.024460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.026845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.037666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.029792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.058795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.033436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.022672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.051316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.025411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.026238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.036225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.046222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.029841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.032124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.023384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.039389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.028618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.032060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.020885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.027503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.029298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.043658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.030079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.025240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.035001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.081835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.023965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.035687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.026377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.031701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.038348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.029778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.028225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.025093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.022116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.035046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.022793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.033611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.021902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.017594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.031581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.040024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.034989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.038831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.040323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.031025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.050808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.046783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.036050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.023841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.035681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.049936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.041199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.210955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.037407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.056618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.031783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.031205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.050662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.055097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.038675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.054156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.050509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.044488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.025716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.045848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.029435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.039306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.029943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.025871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.031920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.057001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.039142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.024641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.022704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.038456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.037994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.021670s] ... 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.027163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.034839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.032738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.022668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.020080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.024566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.043327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.025357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.028749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.027112s] ... 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.049971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.034772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.029153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.034884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.035350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.025188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.032074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.030366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.037764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.024869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.023817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.031213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.043387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.025058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.042746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.030663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.026445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.036582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.037692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.029884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.027271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.026962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.038704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.025701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.029683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.049732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.029813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.028995s] ... 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.035856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.025197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.029907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.024130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.029194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.028526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.031893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.035468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.055998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.036974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.031432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.032234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.023026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.025086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.033986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.054767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.026112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.040311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.040691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.030317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.031040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.065029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.044393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.026921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.036100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.031030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.029368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.027962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.024826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.059050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.026935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.030834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.023979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.034408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.026942s] ... 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.053524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.026207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.026491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.037938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.035136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.035962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.025562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.036407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.023478s] ... 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.028439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.033994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.028711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.031665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.035520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.046070s] ... 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.034383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.022161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.026301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.039491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.014884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.053019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.023430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.042026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.022401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.052220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.053489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.022468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.029857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.047226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.034030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.040429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.033499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.037852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.038462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.034493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.041205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.044241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.046157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.038975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.037915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.041728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.042278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.040639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.038111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.045853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.051180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.031234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.034298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.042439s] ... 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_clean [0.071774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.027959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.031339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.043380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.023325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.021590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.041638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.026991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.025283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.037645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.022584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.033067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.020090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.021987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.029065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.023572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.024275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.020100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.026705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.033456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.038534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.033642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.020377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.033493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.031632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.032401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.021123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.040778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.019762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.019930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.033718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.027894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.021284s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.021163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.021318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.029488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.032156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.021965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.034394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.020859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.021552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.039795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.024105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.038670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.033240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.021053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.029423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.035633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.039229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.031291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.032892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.036992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.039707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.034893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.063692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.037096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.037677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.034744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.035130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.021905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.025447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.026035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.030910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.028975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.030429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.023374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.032876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.022639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.037280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.035630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.029878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.041198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.029118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.021834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.041808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.021225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.022366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.021446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.020243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.022488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.020587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.021717s] ... 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.035762s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.021420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.021736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.035505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.022028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.020846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.036813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.021840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.037278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.024259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.025899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.024653s] ... 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.025006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.028814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.031656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.027938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.032001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.034895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.034000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.022634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.022255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.021053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.024303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.037585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.046165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.034063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.027439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.206301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.031295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.025600s] ... 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.051191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.027755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.025787s] ... 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.037824s] ... 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.023347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.028849s] ... 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.052016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.027207s] ... 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.021797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.034288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.033071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.024413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.024630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.021274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.021555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.215668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.021493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.024023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.022202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.026256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.021218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.023150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.021441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.024975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.021012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.029187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.042183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.024249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.046181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.047685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.038405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.055775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.044030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.042144s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.046915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.053544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.046595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.033549s] ... 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.059825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.025212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.045200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.035061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.033796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.055492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.022613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.023303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.039015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.028984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.038708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.027488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.037542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.026028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.805481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.031655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.032826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.048127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.031212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.034149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.036696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.033915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.037073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.030112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.030679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.042953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.033310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.039325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.040358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.040708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.033848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.036002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.024126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.041683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.021023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.034208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.033862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.033583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.028636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.024919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.022433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.031557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.023690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.027799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.034623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.028428s] ... 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.026627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.024967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.023858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.042996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.028182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.037861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.053387s] ... 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.043738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.039039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.053969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.038376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.037432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.020852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.050358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.043690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.020186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.021389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.044105s] ... 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.046722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.031192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.023937s] ... 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.040148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.022655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.039726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.041582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.045213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.046072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.030490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.041687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.027605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.049537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.032907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.028459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.041190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.023923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.046875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.043092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.035956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.034857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.024756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.029907s] ... 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.046489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.020773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.037829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.033871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.021667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.029622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.034883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.043796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.033425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.025168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.034928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.057306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.020973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.536801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.038182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.039493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.048629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.046087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.039657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.095585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.053980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.050131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.052509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.041014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.028301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.035909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.023351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.045400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.057780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.037408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.026593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.045289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.057966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.031471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.041876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.029543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.046742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.025973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.071549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.042561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.044380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.052561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.032902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.036982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.254112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.040147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.049199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.083463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.051832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.049201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.046209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.055830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.057648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.052850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.031567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.042727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.048668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.037590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.037428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [0.035727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.048365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.046501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.073379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.036622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.047311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.038345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.031926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.056811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.041574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.037721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.036168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.225507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.029328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.034083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.042203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.035728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.033979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.022399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.039729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.037615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.029295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.022062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.050665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.041282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.021355s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.033852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.047422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.035291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.035463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.037448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.024249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.023043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.036704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.033850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.034902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.023477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.022755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.033014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.039237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.034705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_file_url [0.041071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.027790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.023786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_http_url [0.040268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.031089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.030608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.035933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.031061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.032174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.032677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.028970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.033620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.035141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.038999s] ... 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.024323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.042579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.037447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.035040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.033741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.032345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.036902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.034040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.023117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.034312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.034490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.031440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.047781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.053183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.038393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.033412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.038546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.034206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.021006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.024728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.035950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.033148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.035217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.033265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.025411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.058916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.035512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.023961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.022185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.028175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.023454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.021543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.020258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.028832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.021319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.022265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.022490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.022334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.024584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.034688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.032526s] ... 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.022939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.022082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.059574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.021965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.032748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.044399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.047035s] ... 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_file_if_no_upload [0.201180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.205822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.015475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.048648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.033154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.028971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.053563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.069187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.015806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.015573s] ... 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_invalid_component [0.017148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.019966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.041155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.045483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.041806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.023949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.076020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.030926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.048133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.023834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.031089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.022974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.066419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.036611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.050386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.037987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.055474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.056773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.077228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.045602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.115639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.045639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.102647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.036495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.091133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.030356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.072871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.023882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.025569s] ... 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.069639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.044458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.110038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.043205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.085611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.103837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.054233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.033328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.046607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.038914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.037162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.049414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.052659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.037759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.037811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.049185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.034659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.045637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.039147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.033417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.038091s] ... 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.036926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.037318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.034853s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.034353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.043910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.041366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.044275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.047931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.035267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.040282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.039682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.039307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.034276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.051058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.040007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.035535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.037409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.044032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.038202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.036998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.041580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.049815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.048576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.036589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.036156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.036002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.040729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.022900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.056222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.041648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.033367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.052818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.034127s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.035405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.025079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.040589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.060612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.025654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.045306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.027802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.053293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.021397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.035684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.021879s] ... 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.048451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.042801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.042541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.034029s] ... 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.047181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.033120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.034308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.038958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.041186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.036452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.043230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.049447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.036898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.035382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.026798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.035264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.032505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.035307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.040189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.035639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.034917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.020123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.019721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.020375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.020789s] ... 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.019898s] ... 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.020345s] ... 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.020559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.020040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.020600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.031654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.023606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.024782s] ... 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.016400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.030657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.028335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.026403s] ... 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_empty_parameter [0.170654s] ... 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.014909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.060709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.016005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.038216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.067677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.021173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.028057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.031305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.021104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.026741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.021686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.024973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.023466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.036950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.043182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.039812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.044625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.037470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.042312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.034697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.055081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.044986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.038184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.042609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.035992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.034275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.043664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.034692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.053680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.038973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.045130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.039977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.031314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.029342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.034983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.028297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.034319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.033917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.031821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.037870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.031411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.033603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.034380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.034731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.036337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.038662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.038191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.053181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.048937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.042953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.034776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.040171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.045300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.038066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.031401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.033685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.039002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.037431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.032986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.046569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.045717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.041598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.045083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.037229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.036576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.038944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.036637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.021633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.020025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.034194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.038222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.032844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.031999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.026570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.022401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.022328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.032589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.033028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.032563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.032981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.032690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.033343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.037001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.034410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_redfish_properties [0.030876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.020127s] ... 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.021426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.020248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.019906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.015721s] ... 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.015526s] ... 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.037549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.026177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.028577s] ... 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.026966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.028347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.021689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.014739s] ... 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.014476s] ... 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.014815s] ... 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.015071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.014043s] ... 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.060679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.050954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.056229s] ... 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.043456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.026342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.033256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.038940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.021899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.039656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.023863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.039571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.041224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.038800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.038531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.038934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.043337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.037857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.037716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.044045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.041854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.036755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.039353s] ... 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.034667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate [0.042527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.038862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.039552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.038319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.042839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.038860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.038278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.032805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.035953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.031781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.036177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.039868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.032720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.035631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.061511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.031693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.081411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.047565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.060789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.071030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.031377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.044241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.047690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.032953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.041713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.073044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.032729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.021881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.022334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.061614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.024026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.021171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.043541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.030710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.020890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.050743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.020574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.247705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.045564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.042051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.036363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.040205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.036338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.041444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.052560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.032469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.035663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.035623s] ... 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.036694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.035235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.054961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.037139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.039711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.023084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.038828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.048061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.037363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.032741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.042712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.035954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.044467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.039794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.023146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.023246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.034239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.023645s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.069065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.035331s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.031967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.048833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.022099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.041346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.059766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.035808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.034911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.081625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.035993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.037286s] ... 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.055112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.034339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.029949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.033784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.030844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.040268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.041740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.035696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.038113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.021275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.027816s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.031953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.035790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.021379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.022095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.037172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.019465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.019773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.032007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.020279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.024830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.025782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.021369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.025973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.028828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.032406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.206048s] ... 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.033183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.032968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.043570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_redfish [0.039777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.043754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.033155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.035337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.050240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [0.087624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.053241s] ... 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.036096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.029950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.050693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.024509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.028240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.054307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.028190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.048375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.039034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.026272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.049985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.030462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.030821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.048994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.027518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.046225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.031018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.021505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.032187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.019844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.029788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.037912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.021376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.020158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.019862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.028155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.020426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.019989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.029749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.019996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.028781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.020595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.027806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.019611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.019934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.020074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.048902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.020451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.033512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.034033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.032565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.020430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.073088s] ... 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.198319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.079731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.044855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.049304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.081869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.038731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.036413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.036198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.037795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.038841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.035155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.035569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.030909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.031763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.048978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.039228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.035161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.054311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.042961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.055001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [0.084951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.053704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.034100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.027436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.052861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.029182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.029078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.052954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.031650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.032349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.032295s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.034486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.029660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.032158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.020719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.031968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.032370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.039077s] ... 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.031956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.032883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.050553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.036136s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.035311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.049640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.024609s] ... 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.026139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.051904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.033393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.035478s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.032431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.039109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.032335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.036549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.032755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.033700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.049647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.050051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.034428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.031731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.059006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.032953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.039138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.033211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.037938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.040175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.040000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.035225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.041086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.037569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.038024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.048342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.040695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.039051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.037112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.030998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.032366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.042895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.024830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.034253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.042036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.031951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.032762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.036267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.033859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.033771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.041262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.030404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.031896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.030410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.034124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.021993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.034077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.031729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.033848s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.033327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.031304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.048104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.031502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.038743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.032537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.033584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.038188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.064947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.033935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.038897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.033575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.042118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.029633s] ... 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.060397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.028871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.030458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.028138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.033761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.036893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.033229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.021711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.032477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.028791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.027121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.063052s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.059839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.032468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.015845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.215951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.022399s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.016205s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.016108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.063839s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.017790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.015711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.041199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.038275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.047085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.039697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.034224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.044092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.026939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.033927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.034624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.042759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.032749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.037164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.027454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.033399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.026593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.026617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.029233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.026394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.026780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.023789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.027510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.059943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.028448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.026265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.065281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.033577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.047697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.044475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.044431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.044866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.028436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.070668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.028836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.237258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.045392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.026322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.041777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.035294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.040013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.058087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.032296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.045318s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.018509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.037674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.045707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.035803s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.030172s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.048696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.037652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.026453s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.031488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.030479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.061747s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.039675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.074556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.040854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.036185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.078584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.042229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.025874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.029225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.027348s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.032482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.112839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.080930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.027243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.032338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.061415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.058393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.039195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.053212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.043768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.131925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.044264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.055291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.048078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.036197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.036221s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.044113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.036381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.082405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.042302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.048842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.041761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.044853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.038970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.034451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.037227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.058068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system_exception [0.034152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.037638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.039894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.032569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.045439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.044557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.030556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.049611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.048787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.035106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.077686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.043634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.040983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.067885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.045727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.035213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.058559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.066910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.060962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.080200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.048300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.065571s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.036352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.060068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.043124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.056329s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.033664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.027760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.047735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.032339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.024717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.061614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.025760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.041005s] ... 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.023286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.066607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.055122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.066131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.064021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.025532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.044580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.059567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.032316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.032101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.054248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.044654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.029767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.039607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.024219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.039827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.025404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.071586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.042028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.034681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.040462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.039519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.048889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.057168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.055699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.039492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.033640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.050947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.044106s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.040593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.079181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.057458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.055489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.064471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.044896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.049252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.041206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.063974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.038803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.044114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.057190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.047550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.052668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.050308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.278548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.045044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.058651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.050894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.034288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.050496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.043551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.052145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.031625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.042826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.036298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.057245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.282300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.035833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.047077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.053536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.048114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.044585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.061597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.035891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.060667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.052285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.062097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.032828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.043018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.040125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.049018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.071554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.050326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.043361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.043041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.039674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.052554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.037489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.045730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.068239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.058240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.025362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.055536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.021703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.077980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.021924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.035765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.059135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.029138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.034684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.023547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.057454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.021857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.038626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.027890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.051003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.028766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.060100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.021298s] ... 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.053491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.021679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.036876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.023785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.035843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.040796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.025258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.038374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.036262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.034757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.015748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.032950s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.021667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.031260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.029746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.019974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.020038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.047989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.034533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.024720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.021248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.034713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.057101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.020347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.026401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.021748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.021780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.040650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [0.020907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.020957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.034425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.046537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.035572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.056130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.045226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.044862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.036228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.050007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.057536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.200411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.035396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.044945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.039668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok_ipmi [0.040973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.033799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.064808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.034554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.046218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.040487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.048629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.037825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.034982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.034479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.044502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.043512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.057288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.031910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.038621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [0.097235s] ... 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.031304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.033976s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.042273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.042418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.040635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.039420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.027430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.036330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.041320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.036366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.035501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.034185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.037641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.031880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.036714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.038975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.045970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.047591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.064614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.038435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.036105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.035751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.038850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.044519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.036200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.038202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.051338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.044298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.045606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.034746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.031087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.048032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.041875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.030294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.041011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.039529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.025520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.020911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.038993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.042123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.020234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.024551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.026036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.050887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.028957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.038021s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.042230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.029231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.045786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.036823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.049057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.039332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.036044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.056822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.015792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.016936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.017968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.018753s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.017847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.078574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.015242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.212637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.014873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.014470s] ... 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.036463s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.015447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.059408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.025948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.037061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.043318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.022280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.035958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.039465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.041243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.033332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.021832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.042108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.021383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.035783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.015337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.021416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.044831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.038114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.030080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.035950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.031208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.056200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.025089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.021426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.030337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.054932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.026216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.046764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.017601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.019309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.032566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.054104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.020707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.018652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.034156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.041104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.025057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.042597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.034946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.059081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.024324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.042047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.033879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.048558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.034522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.044062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.028486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.038398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.044973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.026359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.024491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.038882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.032578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.016692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.016485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.034737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.035788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.020458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.021117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.048840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.017237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.054433s] ... 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.016724s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.036623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.019972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.040793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.019733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.020230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.051795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.047093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.025086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.021373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.039411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.048432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.020893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.034233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.024635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.045347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.034600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.040844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.021818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.060216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.033698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.025417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.054770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.066118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.045427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.036115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.048360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.038896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.071544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.098573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.015919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.040725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.032973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.015848s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.014673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.024015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.015874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.032827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.014971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.014422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.031392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.044193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.031417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.044506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.048918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.044846s] ... 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.037157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.039989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.036157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.034949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.036608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.016327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.015721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.035404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.055504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.033830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.040784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.030393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.045338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.030827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.033529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.049774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.030497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.040722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.030906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.046824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.042638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.030323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.046208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.021274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.019917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.019581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.046175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.022723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.017551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.018325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.058399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.015068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.015919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.031359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.015838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.021657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.039981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.019265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.016973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.046077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.016648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.016701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.016796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.046668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.048342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.046260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.028601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.041750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.035100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.028384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.034146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.029798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.028766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.034987s] ... 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.029057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.038190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.033857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.028688s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.034190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.026344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.027956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.025838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.028249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.030217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.026435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.070752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.055081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.023219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.027304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.038712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.020837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.028509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.021260s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.027205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.027307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.027105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.016500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.023233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.185911s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.016132s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.015317s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.015047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.029361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.037595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.036016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.033228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.042431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.544424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.033943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.022207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.016321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.015668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.033504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.015458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.015845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.035340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.015887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.015748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.031484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.015130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.015569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.027158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.015365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.026838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.030902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.025042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.031560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.025180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.023015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.030942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.030448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.030802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.026040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.035487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.029989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.034346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.058397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.035558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.029438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.032487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.030392s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.032697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.035143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.026635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.070632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.029925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.027374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.031243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.030442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.023497s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.039191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.026906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.023736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.022160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.021613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.022840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.054758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.029248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.034419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.023851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.034058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.023333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.023415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.028552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.023233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.022866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.047185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.023089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.032184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.021329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.023669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.043575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.021594s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.022136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.038351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.024492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.039503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.023682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.024961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.043862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.023708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.037626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.037434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.025390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.023577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.032003s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.023446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.023861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.047281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.024031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.024233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.053150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.028926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.026717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.038570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.032584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.030998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.028922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.026112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.218666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.027918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.025955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.047129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.030326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.032265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.046902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.026622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.032214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.019774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.026865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.019512s] ... 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.020027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.035138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.020516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.026326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.044084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.026150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.051816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.026551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.032945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.052694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.036279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.044213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.033441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.037693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.040478s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.044743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.223789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.037266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.056131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.042893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.031014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.038484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.028649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.014861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.030738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.014375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.032382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.034114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.033457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.032549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.033046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.033798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.033643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.043133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.038758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.049984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.049411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.046909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.049602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.055667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.037714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.056929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.038658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.037138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.038778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.040501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.042430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.035398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.035717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.029675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.028891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.050846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.033965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.049423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.030265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.034485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.034621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.036767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.044157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.045955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.041344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.038177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.049226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.037575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.046122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.031788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.030697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.044385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.030637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.051071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.021567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.021684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.035403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.017645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.021712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.017987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.017711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.038641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.019633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.019661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.030895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.017371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.017191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.034067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.019732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.017241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.032278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.017758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.030573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.019588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.018652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.037539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.018572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.017857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.030210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.017837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.017425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.040633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.017932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.018648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.039905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.019786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.017175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.031908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.018158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.036731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.030399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.030368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot [0.033982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.031609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.033310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.030912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.033839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.030896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.016966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.051868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.016658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.016093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.035818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.016143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.016360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.017305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.035375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.016675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.016335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.036014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.016702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.016112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.032686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.016442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.016068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.040830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.019335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.036485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.030177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.031238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.038248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.032596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.038040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.033059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.041543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.021797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.033111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.039058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.032528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.018698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.014655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.014041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.014575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.014132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.108611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.015689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.014706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.016451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.016310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.062368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.015245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.014752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.037823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.014243s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.014769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.015129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.043188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.014863s] ... 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.034046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.049790s] ... 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_redfish_raid [0.034243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.032911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.028420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.034154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.028658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.030491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.027529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.028938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.016110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.014737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.031838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.034088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.018819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.019340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.016078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.016099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.038906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.023420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.015789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.015712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.015522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.034549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.020818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.028501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.016769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.016040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.039188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.014867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.048624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.019623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.038487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.014899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.038104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.015729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.039560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.018117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.035221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.018176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.033175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.019844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.037375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.036801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.024013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.018072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.040283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.035574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.018244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.201623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.017935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.014805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.016532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.015110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.017536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.030096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.018695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.204471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.022186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.024429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.029810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.018026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.017261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.018366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.025416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.018365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.037429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.017626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.030500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.020136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.033020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.022246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.017411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.020655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.016808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.023117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.018425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.019921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.020382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.020806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.018589s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.017784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.039511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.017360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.026158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.049955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.024409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.017676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.014734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.017048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.014710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.014094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.023038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.019625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.017913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.014907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.018136s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.017537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.014898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.027907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.014395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.021593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.017437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.016923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.033113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.016814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.033542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.034024s] ... 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.025420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.017310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.016566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.019639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.016810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.019866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.178514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.019446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.016967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.016908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.020353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.021514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.019977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.017275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.016970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.041385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.016446s] ... 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.019748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.016325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.016355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.020704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.016415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.022370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.018107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.022713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.016924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.016689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.020909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.016329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.016449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.016238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.055483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.016125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.824389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.015226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.016395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.015606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.017333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.015498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.044409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.014045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.018057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.014364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.022386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.018276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.017999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.024772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.022296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.021321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_anaconda [0.062696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.026144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.027786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.020024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.018125s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.040368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.017390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.028228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.017100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.038317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.021282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.028733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.014642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.014472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.038067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.031601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.018566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.014276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.027898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.034054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.016501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.014355s] ... 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.030129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.015219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.043184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.027068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.014182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.015964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.031328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.025636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.015071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.018944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.026438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.016837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.014405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.020824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.014238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_anaconda [0.021529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.043622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.014267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.014103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.021969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.024543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.014684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.020266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.021286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.014522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.016853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.014547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.016022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.037138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.021771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.015939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.022065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.016490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.015379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.042211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.022296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.014286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.021307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.015028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.040709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.017723s] ... 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.019599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.017220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.019947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.029873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.017488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.027948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.023173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.026192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.016528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.018060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.026874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.017183s] ... 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.016597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.020544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.018873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.018506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.022082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.017737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.017132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.017436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.016381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.017401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.016596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.017497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link_no_restorecon [0.048415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.020121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.020137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.037714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.022120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.038316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.016781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.026669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.021682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.034359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.019017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.034367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.021253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.014817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.032570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.036867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.035699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.034753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.028278s] ... 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-6f11e794-5687-44cd-9e0d-579b9572aed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 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-6f11e794-5687-44cd-9e0d-579b9572aed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9191109d-5b77-4147-ad93-22d512bacb4d DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9191109d-5b77-4147-ad93-22d512bacb4d {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adf46f5f-e0ac-464f-ab1a-b9141d10aa18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "9191109d-5b77-4147-ad93-22d512bacb4d", "created_at": "2023-04-19T16:16:04.284818+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9191109d-5b77-4147-ad93-22d512bacb4d", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adf46f5f-e0ac-464f-ab1a-b9141d10aa18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "9191109d-5b77-4147-ad93-22d512bacb4d", "created_at": "2023-04-19T16:16:04.284818+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9191109d-5b77-4147-ad93-22d512bacb4d", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/91e5586c-ab90-4a7a-8ea6-9065a0c7eef7 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/91e5586c-ab90-4a7a-8ea6-9065a0c7eef7 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca95cde6-8d85-4915-bf45-c4fc0ef1fd2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "91e5586c-ab90-4a7a-8ea6-9065a0c7eef7", "created_at": "2023-04-19T16:16:04.353135+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/91e5586c-ab90-4a7a-8ea6-9065a0c7eef7", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca95cde6-8d85-4915-bf45-c4fc0ef1fd2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "91e5586c-ab90-4a7a-8ea6-9065a0c7eef7", "created_at": "2023-04-19T16:16:04.353135+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/91e5586c-ab90-4a7a-8ea6-9065a0c7eef7", "rel": "self"}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf25d636-d67b-4ae2-b193-ff33f9584983 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5dc6197-7b73-418f-8ed8-684c7a7aa0b9 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-f419f2e8-67e4-4bf5-9d46-813298b55b9b DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a26a2aa-c019-4d9c-971f-37e6dcda85e7 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: /v1/things {'name': 'foo', 'flag': True} DEBUG util.py:445: GOT:{'foo': True} DEBUG util.py:445: GET: /v1/things {'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-bf0fb5a3-2271-4b63-8341-a7529788ce37 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: 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.80'}} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.80'}]} DEBUG util.py:445: foo() migrated 15 of 15 objects. DEBUG util.py:445: func1() migrated 15 of 15 objects. DEBUG util.py:445: func2() migrated 20 of 20 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: [NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=eedd3cb0-8c88-4b1c-ae77-696ae2300f27), NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=58197401-c386-44e7-b180-2dcddde74f05), NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=35a9111e-db07-4821-99ad-3737a73e7a35), NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=89fba5af-a451-4223-baba-3a7f641716be), NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=14c2ba43-6603-4583-8a9f-b11aa38d8d8a), NodeHistory(conductor='fake-mini',created_at=2023-04-19T16:16:19Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=0bfd940b-4d21-459c-b22d-df5dbdeb9fba)] DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.030280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.032540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.020395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.029518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.022377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.022430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.040557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.022296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.015123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.029074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.014870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.017718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.029259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.015434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.033357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.031743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.016380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.016858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.033679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.077667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.035015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.035909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.028767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.045465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.023136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.021074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.027012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.038620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.035252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.037565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.029009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.030313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.043481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.027237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.022893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.048817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.021969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.040840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.024891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.025143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.048233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.022494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.022765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.042604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.023471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.026726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.021595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.020473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.019217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.020298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.016593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.016179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.014979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.015432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.019036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.017577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.032383s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.017848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.020988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.016189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.020805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.018135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.024784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.044250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.021634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.020270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.034579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.020471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.040265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip_node_override [0.040772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.035456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.041438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.030997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.033593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.047027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.029384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.033854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.028063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.041010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.029585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.029654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.031619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.028257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.197287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.029673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.032382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.030527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.032153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.034068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.032672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.035565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.032421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.033034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.031683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.028511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.031756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.021226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.032836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.031407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.032734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.055095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.030949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.024017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.024545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.023220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.024046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.023053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.022006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.022737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.021549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.028655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.028201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.023779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.022809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.022583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.035900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.023816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_connection_problem [0.556064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.027970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.041778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.024437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.024742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.028545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.016885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.035448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.016881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.019863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.034444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.022187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.037144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.035568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.021633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.033123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.020867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.031959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.030813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.027841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.031260s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.032174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.036019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.043207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.035860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.035120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.033685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.036270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.032818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.034748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.036426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.037244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.034695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.033496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.047596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.033047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.050902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.034722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.032807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.059487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.033153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.053156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.052429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.032442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.055877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.027468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.034372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.059923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.024661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.034597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.024228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.026069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.039988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.023399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.031572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.024014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.033804s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.021821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.022056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.033257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.021957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.015964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.014532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.021789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.015382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.022143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.014415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.021647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.036493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.022575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.034101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.039449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.024326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.037373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.024749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.029577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.047533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.032776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.041364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.028626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.039094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.026645s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.032759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_active [0.039987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.030436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.052296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.031683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.026844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.049044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.032300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.050647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.035250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.035082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.051660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.051262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.057899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.051494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.058396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.052234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.028860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.050034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.029425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.034045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.034575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.036639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.030959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.037564s] ... 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.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.022051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.033540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.059546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.037587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.035529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.054492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.035743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.033232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.035078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.039628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.038390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.029549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.053035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.050192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.019356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.018870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.017902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.053398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.017898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.018856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.050841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.019246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.017757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.028716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.030374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.039052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.027482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.033726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.195331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.058720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.021275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.017570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.040263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.017035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.017937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.031201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.016921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.023334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.017601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.017297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.043201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.016887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.018526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.017552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.049448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.018877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.018514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.044477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.018484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.018299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.019809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.044779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.019803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.023945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.021858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.022994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.021378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.019307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.020354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.018475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.018865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.017664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.017621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.017600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.017480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.017923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.018752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.017878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.022060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.030646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.018077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.033009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.017242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.016701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.030617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.031215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.030546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.030477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.017136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.016785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.017489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.017142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.017249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.202912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.017935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.020982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.017829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.019786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.018634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.018392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.017307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.018485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.018358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.018194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.016682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.018450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.018087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.016918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.017483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.021792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.035748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.019960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.030741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.030079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.030503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.034551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.017147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.016029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.032596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.016848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.016093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.035481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.015898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.014909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.015831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.014430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.016087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.015010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.015616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.013982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.014161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.029942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.014590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.014079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.037862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.019948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.014926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.031437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.014916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.015102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.014830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.014024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.014119s] ... 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_default_interfaces [0.033509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.015448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.014027s] ... 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_base.RAIDInterfaceTestCase.test_apply_configuration [0.016595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.043531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.016744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.016732s] ... 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_bios [0.034884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.015295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.014138s] ... 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.035303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.014838s] ... 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_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.029582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.036882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.032921s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.035396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.028465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.029060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.028822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.028587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.029225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.030969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.020761s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.030147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.017258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.030138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.028974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.030120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.036662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.033481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.030092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.032502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.030762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.028838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.017110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.032402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.016334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.016337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.032870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.016261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.015125s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.033368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.018322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.029251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.033743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.020111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.025856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.033000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.025619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.022972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.019811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.033595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.021213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.020234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.019799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.019558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.016552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.017521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.017048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.016987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.016649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.017321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.024904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.018032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.016289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.017901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.017250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.024178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.018250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.019660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.017257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.017845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.018372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.017446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.022733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.018319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.017531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.018623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.021812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.016853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.014773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.014360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.024046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.016980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.029314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.016664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.014457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.016369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.014564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.016850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.017654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.020307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.016543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.016427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.016662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.016504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.016662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.018920s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.016219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.016823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.016221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.018343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.017604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.016613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.016067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.016618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.016615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.016355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.024499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.016501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.018246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.017150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.017282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.016646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.017594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.016400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.017831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.016683s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.018527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.016795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.018646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.016328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.017553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.016859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.017442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.017282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.017570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.016323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.018637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.016315s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.016208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.025184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.016319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.019001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.017572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.017455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.017835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.017484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.017163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.016746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.018169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.016871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.016327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.017074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.016226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.014209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.014014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.021597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.014279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.018701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.014310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.017617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.019174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.017163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.014429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.014241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.014465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.013983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.013760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.014138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.013897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.014086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.021247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.014175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.014328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.018754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.015551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.017387s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.015127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.015017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.014216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.014468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.014573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.013962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.014338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.013855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.014944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.014237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.015197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.013977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.015597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.014196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.013927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.016242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.015517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.053182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.014773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.018334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.013746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.014482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.019158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.014733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.017731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.014114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.016999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.014131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.016839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.014828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.015194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.016431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.016086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.016130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.016026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.016055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.015775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.016832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.017018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.017087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.177237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.016339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.018561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.017374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.016353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.018164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.015784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.017367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.016315s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.016731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.016174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.016462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.015851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.016213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.017041s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.016428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.017225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.016822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.016784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.017065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.016963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.019632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.016241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.017089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.018053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.017257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.016888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.014603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.017274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.014873s] ... ok 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: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.017212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.016114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.025272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.018193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.022929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.016861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.016537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.016465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.014667s] ... 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-ec9ddd7a-2eae-48ca-99e8-748e7d73f208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e0b15d8e-7d93-4b2a-abb0-66285c1c82bc", "created_at": "2023-04-19T16:15:57.354105+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e0b15d8e-7d93-4b2a-abb0-66285c1c82bc", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec9ddd7a-2eae-48ca-99e8-748e7d73f208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e0b15d8e-7d93-4b2a-abb0-66285c1c82bc", "created_at": "2023-04-19T16:15:57.354105+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e0b15d8e-7d93-4b2a-abb0-66285c1c82bc", "rel": "self"}]} DEBUG util.py:445: GET: /v1/bad/path {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5997a46-350b-489a-be45-33d9576e6710 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-a49d0c29-0bca-4f5c-a96b-5b2c5b974c18 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-5800cb94-77a1-40d8-9b9b-19ae55655c6c 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-ad590442-12e4-4521-a484-39e5e26cd38a DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"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-fc15f0d6-8fe3-48f7-a159-4030540fac31 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/things/no_content {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-62392d36-a283-46ea-8f4c-024d66b8c2c1 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-e9d5315e-09ec-4c23-87ff-e6f4bf92126e 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-d443140a-50f8-443b-a6ad-b1c9491ecd17 DEBUG util.py:445: "accepted" DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} 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-77f5f2a2-8c5e-4b5a-bea0-c2375bea845b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-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.80'}, '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: func1() migrated 10 of 10 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: Malformed option m1.key1value1 DEBUG util.py:445: {'links': [{'id': 'port1', 'type': 'vif', 'ethernet_mac_address': '52:54:00:4f:ef:b7', 'vif_id': '96d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb8', 'mtu': 1500}], 'networks': [{'id': '906e685a-b964-4d58-9939-9cf3af197c67', 'network_id': 'a87cc70a-3e15-4acf-8205-9b711a3531b7', 'type': 'ipv6', 'link': 'port1', 'ip_address': 'fd00:203:0:113::2', 'netmask': 'ffff:ffff:ffff:ffff::', 'routes': [{'network': '::0', 'netmask': '::0', 'gateway': 'fd00:203:0:113::1'}]}]} DEBUG util.py:445: {'deployment_ari_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk', 'pxe_append_params': 'test_param ipa-global-request-id=req-4d389dd5-ffdd-45b3-b858-90a4bbacfd42', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '192.168.240.33', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} DEBUG util.py:445: {'deploy_kernel': ('deploy_kernel', '/tmp/tmpm9ewjv2q/tmp8l857hih/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpm9ewjv2q/tmp8l857hih/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [60.084334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [60.061932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.044457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.034748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.052196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.044299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.049506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.049030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.045586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.048273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.047254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.048846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.015298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.021333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.020629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.030260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.020522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.019263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.019099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.019286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.019324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.033918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.023223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.029263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.082621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.034518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.032268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.028290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.027537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.032647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.035374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.032649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.034474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.039811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios_ipmi [0.089110s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [0.090042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.035222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.032420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.037654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.034321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.038832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.020363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.028036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.029748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.029003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.034059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.039167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.040418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.047308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.032669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.032521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.028856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.027942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.020243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.028355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.028092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.029744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.028998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.030289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.030604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.035534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.033604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.048945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.050448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.049111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.045339s] ... 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.034728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.034435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.038081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.037213s] ... 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.034400s] ... 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.035888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.032224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.034141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.038813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.053033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.032715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.034343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.032475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.032580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.034659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.037078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.033098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.035694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.034222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.025914s] ... 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.022952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.022531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.024260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.034583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.035531s] ... 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.034315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.036319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.036285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.185774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.038171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.031738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.031445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.034883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.034494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.034938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.034365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.040217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.040355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.041360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.035692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.038276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.033596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.030587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.031061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.030748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.030626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.055860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.057730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.043812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.047572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.043760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.035232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.046056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.056952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.031912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.027631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.022032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.021880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.021698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.029033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.032456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.027901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.033658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.033131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.026474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.026537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.027676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.075543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.055506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.039569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.044858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.025903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.028504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.019670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.018107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.021438s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.016381s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.016574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.016516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.027444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.027207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.031310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.036050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.034615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.035452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.037644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.035128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.026234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.022586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.027847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.026497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.021428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.184913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.056069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.026855s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/jsonschema/validators.py:928: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. DEBUG util.py:443: cls = validator_for(schema) DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.035979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.026550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.030861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.046998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.023936s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.024180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.024542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.035162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.034382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.025133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.045071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.036214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.047442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.046927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.020964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.021788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.021568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.021283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.027443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.026316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.035550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.034759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.031550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.042324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.042908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.043339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.045898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.044535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.033616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.031050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.035722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.032863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.036419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.037814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.036615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.035348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.030017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.035058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.034684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.030996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.036603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.030355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.030702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.030237s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.021105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.037115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.035990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.044837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.032662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.033609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.030675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.030093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.040963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.041348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.032739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.040840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.033931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.043136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.032978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.042376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.041735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.036729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.035023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.051949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.035729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.030409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.032468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.032666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.186878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.031048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.032277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.017010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.015150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.015439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.014532s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.015127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.015640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.015005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.021255s] ... 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.014450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.014686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.028814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.019433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.038193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.019713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.018507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.030087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.028981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.025937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.026714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.024539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.017785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.022340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.021632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.036178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.024818s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.021694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.021837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.018360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.017698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.017907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.017140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.031858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.021312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.021026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.022663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.020801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.019637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.019366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.092202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.041255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.015207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.014719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.014562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.042228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.042275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.046878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.046999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.029253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.044355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.033339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.039224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.022687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.020766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.021313s] ... 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.020545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.019297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.023358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.022139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.016449s] ... 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.018588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.017312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.015366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.015735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.020921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.019557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.026563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.026937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.025806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.027837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.029164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.027832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.028728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.027781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.027724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.022029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.021514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.032679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.031903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.022232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.566103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.024117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.041237s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.024457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.027991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.016339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.015820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.016043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.015700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.016198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.016179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.016394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.017168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.033836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.033995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.034261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.033754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.033488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.032395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.032386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.032422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.032119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.035688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.039456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.035746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.033324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.035386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.034576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.031807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.031360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.033691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.035128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.032852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.033165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.026803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.034243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.036228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.024187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.024844s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.024024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.024079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.021840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.022061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.022527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.022958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.023413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.023074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.023112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.030376s] ... 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.032706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.032210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.032002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.031235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.032153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.036653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.031525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.029828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.031696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.026376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_active [0.036706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.047185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.045681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_with_fallback [0.041766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.054691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.064589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.050517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.061730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.061538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.054834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.030247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.029855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.028201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.015173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.027039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.030195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.030632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.033542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.220085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.049407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.050185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.029411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.030024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.029985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.029327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.030731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.056686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.081388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.030483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.028854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.029979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.058655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.045124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.046274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.049148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.047838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.045569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.045968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.045540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.019071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.019330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.017498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.017982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.017842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.017169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.017722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.017298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.019515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.018321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.016853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.017783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.018185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.018595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.019128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.018577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.017435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.019249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.019010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.019340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.018908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.018634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.017444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.018276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.020251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.031646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.031356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.030302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.016991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.016727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.016094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.015803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.016269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.016369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.016441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.016550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.016311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.016051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.016569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.016408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.020298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.019858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.019556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.019697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.020342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.029627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.032464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.030717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.015876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.014483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.014496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.015506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.014511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.014362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.014292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.019829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.015585s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.015639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.015046s] ... 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_no_vendor [0.034134s] ... 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_inspector [0.034204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.030021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.031317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.030069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.030077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.029231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.029057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.029143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.029745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.029625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.034579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.024300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.031458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.022123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.032532s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.030966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.033204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.019918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.029392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.017846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.022517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.172201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.016715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.016331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.017669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.016943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.017326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.017039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.017966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.018608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.017288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.017409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.017984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.017230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.017557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.018763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.017880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.026136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.026327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.020701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.014197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.014147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.013853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.016395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.016507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.016234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.016173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.016792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.016337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.016540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.017057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.016723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.019570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.019462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.017488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.017266s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.017428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.017078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.017400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.017208s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.017028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.017904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.023082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.016393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.016424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.017776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.016566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.016153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.016710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.017410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.017635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.017532s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.016760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.028826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.019422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.018467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.018033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.016815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.019084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.019455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.018274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.013988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.014332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.013914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.013852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.013923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.013871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.014082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.013904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.014771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.014189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.014030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.014807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.014591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.013989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.013859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.014135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.015263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.014371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.014086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.046620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.018180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.016001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.015646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.016403s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.016980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.016514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.016212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.015761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.016456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.016869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.017368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.017683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.017267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.016561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.016631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.017478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.024227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.018188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.017133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.016874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.015791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.016596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.024525s] ... 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-f4776a73-c7b0-4c87-a957-bb03de54fc3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.164121+00:00", "updated_at": "2023-04-19T16:16:04.189735+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-f4776a73-c7b0-4c87-a957-bb03de54fc3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-04-19T16:16:04.164121+00:00", "updated_at": "2023-04-19T16:16:04.189735+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 get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85555d25-24c5-4a99-9263-a12716e2bfee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "a1dfccca-2367-46e1-b1d6-9a5099a7af47", "created_at": "2023-04-19T16:16:04.244358+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a1dfccca-2367-46e1-b1d6-9a5099a7af47", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85555d25-24c5-4a99-9263-a12716e2bfee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.80 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.80 DEBUG util.py:445: {"history": [{"uuid": "a1dfccca-2367-46e1-b1d6-9a5099a7af47", "created_at": "2023-04-19T16:16:04.244358+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a1dfccca-2367-46e1-b1d6-9a5099a7af47", "rel": "self"}]}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1234af96-4b28-4476-aa69-1ab8e7f94a4e 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-50b9080e-e49a-47cb-9fea-5c36eb7fae81 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-21.1.1.dev25/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-21.1.1.dev25/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.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} 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/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: func1() migrated 10 of 10 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 8792 tests in 287.1908 sec. DEBUG util.py:445: - Passed: 8748 DEBUG util.py:445: - Skipped: 44 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: 776.1512 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2198 tests) => 0:02:48.678775 DEBUG util.py:445: - Worker 1 (2198 tests) => 0:02:37.542173 DEBUG util.py:445: - Worker 2 (2198 tests) => 0:02:47.123766 DEBUG util.py:445: - Worker 3 (2198 tests) => 0:04:45.812014 DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Processing files: openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: Provides: openstack-ironic = 1:21.1.1-0.20230419160927.b5d2fda.el9 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/bin/python3 DEBUG util.py:445: Processing files: openstack-ironic-common-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info DEBUG util.py:445: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.iOyFkP DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr etc/ironic/policy.yaml.sample /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.w5POEB DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: config(openstack-ironic-common) = 1:21.1.1-0.20230419160927.b5d2fda.el9 openstack-ironic-common = 1:21.1.1-0.20230419160927.b5d2fda.el9 python3.9dist(ironic) = 21.1.1~~dev25 python3dist(ironic) = 21.1.1~~dev25 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: /usr/bin/python3 /usr/bin/sh python(abi) = 3.9 python3.9dist(setuptools) DEBUG util.py:445: Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pysnmp >= 4.3.0 python3-scciclient >= 0.8.0 DEBUG util.py:445: Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 DEBUG util.py:445: Processing files: openstack-ironic-api-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:21.1.1-0.20230419160927.b5d2fda.el9 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/bin/python3 DEBUG util.py:445: Processing files: openstack-ironic-conductor-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:21.1.1-0.20230419160927.b5d2fda.el9 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/bin/python3 DEBUG util.py:445: Processing files: openstack-ironic-dnsmasq-tftp-server-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.MmIqZd DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.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-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: config(openstack-ironic-dnsmasq-tftp-server) = 1:21.1.1-0.20230419160927.b5d2fda.el9 openstack-ironic-dnsmasq-tftp-server = 1:21.1.1-0.20230419160927.b5d2fda.el9 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-21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: Provides: python-ironic-tests = 1:21.1.1-0.20230419160927.b5d2fda.el9 python3-ironic-tests = 1:21.1.1-0.20230419160927.b5d2fda.el9 python3.9-ironic-tests = 1:21.1.1-0.20230419160927.b5d2fda.el9 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.9 DEBUG util.py:445: Obsoletes: python-ironic-tests < 1:21.1.1-0.20230419160927.b5d2fda.el9 python39-ironic-tests < 1:21.1.1-0.20230419160927.b5d2fda.el9 DEBUG util.py:445: Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-api-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-conductor-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-common-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/python3-ironic-tests-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG util.py:445: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.7cKVYp DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-21.1.1.dev25 DEBUG util.py:445: + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.x86_64 DEBUG util.py:445: + RPM_EC=0 DEBUG util.py:443: ++ jobs -p 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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['umount', '-n', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-zed-x86_64-5-bootstrap/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-zed-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: 16212184 4087388 3864044 526468 8260752 11228936 DEBUG util.py:445: Swap: 16777212 3872932 12904280 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-centos9-zed-x86_64-5-bootstrap/root', '/var/cache/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Filesystem Size Used Avail Use% Mounted on DEBUG util.py:445: mock_chroot_tmpfs 4.3G 267M 4.1G 7% /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root DEBUG util.py:445: /dev/vda1 550G 499G 52G 91% / 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-centos9-zed-x86_64-5-bootstrap/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/log/yum.log DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root DEBUG buildroot.py:199: resultdir = /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/results DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/etc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/.initialized DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['mount', '-n', '-t', 'tmpfs', '-o', 'mode=0755', '-o', 'nr_inodes=0', '-o', 'size=4g', 'mock_chroot_tmpfs', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 INFO buildroot.py:175: calling preinit hooks DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-zed-x86_64-5/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root_cache/cache.tar.gz', '-C', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root/./proc DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./sys DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./dev DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./dev DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./tmp/ccache DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/cache/yum DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/log DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/./var/log DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-zed-x86_64-5/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-zed-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: 16212184 4098112 2445976 1826124 9668096 9918556 DEBUG util.py:445: Swap: 16777212 3872932 12904280 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-centos9-zed-x86_64-5/root', '/var/cache/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Filesystem Size Used Avail Use% Mounted on DEBUG util.py:445: mock_chroot_tmpfs 4.3G 1.4G 3.0G 31% /var/lib/mock/dlrn-centos9-zed-x86_64-5/root DEBUG util.py:445: /dev/vda1 550G 499G 52G 91% / 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-centos9-zed-x86_64-5/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-305.0.1.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-zed-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.0dh1gcn8', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/sbin/usermod', '-u', '1034', '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'} and shell False DEBUG util.py:445: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/root/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', '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-centos9-zed-x86_64-5-bootstrap/root/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': '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/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-conductor-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-common-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/python3-ironic-tests-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-dnsmasq-tftp-server-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm /home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-api-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-zed-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'install', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-conductor-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-common-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/python3-ironic-tests-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-dnsmasq-tftp-server-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-api-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root/', '--releasever', '9', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'install', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-conductor-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-common-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/python3-ironic-tests-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-dnsmasq-tftp-server-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7/openstack-ironic-api-21.1.1-0.20230419160927.b5d2fda.el9.noarch.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-zed-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'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-python-tempestconf-b0ee1bcdacd85b073b7 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-332d7deeba740b9fd8a6 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-django-horizon-987c876de4c4ee77 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-role-collect-logs-61ec0ed10328 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ironic-ec6c37579675c8f0b8247 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-tcib-03c10e7f35d3a0f4f69b6f7d33 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-7c30c9e000b58055b61 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-tripleo-ansible-d67647f665df8d4b6979c4 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-5968c822bebbaa47e 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-ed36d82a 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-1cf650bf4f25f15ae80c31a 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-bff964511e9dcce0848f6 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tripleo-validations-e427f2e9 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-06a18202ab52c64803f04 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-708df56d5a88a3204c2e98 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-e7bbb17e1e3d16540b4ef 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ovn-bgp-agent-921d93896b780930760b84fb 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 28 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 37 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 26 kB/s | 8.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 46 kB/s | 8.6 kB 00:00 DEBUG util.py:445: dlrn-zed-testing 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-zed-build-deps 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Package Arch Version Repository Size DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Installing: DEBUG util.py:445: openstack-ironic noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 8.1 k DEBUG util.py:445: openstack-ironic-api noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 8.9 k DEBUG util.py:445: openstack-ironic-common noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 1.2 M DEBUG util.py:445: openstack-ironic-conductor noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 8.2 k DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 12 k DEBUG util.py:445: python3-ironic-tests noarch 1:21.1.1-0.20230419160927.b5d2fda.el9 @commandline 1.3 M DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: dnsmasq x86_64 2.85-6.el9 appstream 324 k DEBUG util.py:445: dosfstools x86_64 4.2-3.el9 baseos 155 k DEBUG util.py:445: libburn x86_64 1.5.4-4.el9 appstream 173 k DEBUG util.py:445: libisoburn x86_64 1.5.4-4.el9 appstream 416 k DEBUG util.py:445: libisofs x86_64 1.5.4-4.el9 appstream 222 k DEBUG util.py:445: libsodium x86_64 1.0.18-7.el9s delorean-zed-testing 161 k DEBUG util.py:445: libyaml x86_64 0.2.5-7.el9 baseos 61 k DEBUG util.py:445: memcached x86_64 1.6.9-7.el9 appstream 174 k DEBUG util.py:445: mtools x86_64 4.0.26-4.el9 baseos 222 k DEBUG util.py:445: pykickstart noarch 3.32.9-1.el9 appstream 29 k DEBUG util.py:445: python-oslo-cache-lang noarch 3.2.0-0.20221128115944.dde16ce.el9 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 5.0.1-0.20220913105944.01cf2ff.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 12.1.0-0.20220929090402.7f3647b.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20220910085450.b031d17.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 5.0.0-0.20220910091625.6401da7.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 5.0.0-0.20220913100152.51e1882.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 4.0.0-0.20220913100707.5bd767b.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-privsep-lang noarch 3.0.1-0.20220913140830.e62d408.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-utils-lang noarch 6.0.1-0.20220910090500.760deb9.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 3.0.1-0.20220913115328.2b12029.el9 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20220909140437.4179996.el9 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-6.el9 appstream 107 k DEBUG util.py:445: python3-alembic noarch 1.8.1-1.el9s delorean-zed-testing 832 k DEBUG util.py:445: python3-amqp noarch 5.1.1-1.el9s delorean-zed-testing 93 k DEBUG util.py:445: python3-appdirs noarch 1.4.4-4.el9 appstream 23 k DEBUG util.py:445: python3-async-timeout noarch 4.0.2-5.el9s delorean-zed-testing 18 k DEBUG util.py:445: python3-attrs noarch 20.3.0-7.el9 appstream 87 k DEBUG util.py:445: python3-automaton noarch 3.0.1-0.20220913101013.0ea747e.el9 delorean-component-common 41 k DEBUG util.py:445: python3-autopage noarch 0.5.1-1.el9s delorean-zed-testing 58 k DEBUG util.py:445: python3-bcrypt x86_64 3.2.2-4.el9s delorean-zed-testing 43 k DEBUG util.py:445: python3-binary-memcached noarch 0.31.1-1.el9s delorean-zed-testing 37 k DEBUG util.py:445: python3-cachetools noarch 5.2.0-3.el9s delorean-zed-testing 31 k DEBUG util.py:445: python3-cffi x86_64 1.14.5-5.el9 baseos 253 k DEBUG util.py:445: python3-cinderclient noarch 9.1.0-0.20220913141756.730a8c7.el9 delorean-component-clients 218 k DEBUG util.py:445: python3-cliff noarch 4.0.0-0.20220913115843.58c853d.el9 delorean-component-common 93 k DEBUG util.py:445: python3-cmd2 noarch 2.4.2-1.el9s delorean-zed-testing 303 k DEBUG util.py:445: python3-cryptography x86_64 36.0.1-2.el9 baseos 1.2 M DEBUG util.py:445: python3-dateutil noarch 1:2.8.1-6.el9 baseos 302 k DEBUG util.py:445: python3-debtcollector noarch 2.5.0-0.20221124135348.a6b46c5.el9 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.2-6.el9 baseos 28 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-deprecated noarch 1.2.13-3.el9s delorean-zed-testing 21 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.8-1.el9s delorean-zed-testing 88 k DEBUG util.py:445: python3-etcd3gw noarch 1.0.0-2.el9s delorean-zed-testing 42 k DEBUG util.py:445: python3-extras noarch 1.0.0-15.el9s delorean-zed-testing 19 k DEBUG util.py:445: python3-fasteners noarch 0.17.3-5.el9s delorean-zed-testing 34 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-27.el9s delorean-zed-testing 92 k DEBUG util.py:445: python3-future noarch 0.18.2-9.el9s delorean-zed-testing 729 k DEBUG util.py:445: python3-futurist noarch 2.4.1-0.20220912114933.159d752.el9 delorean-component-common 62 k DEBUG util.py:445: python3-glanceclient noarch 1:4.1.0-0.20220913122332.f2999ce.el9 delorean-component-clients 148 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-zed-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 4.12.0-2.el9s delorean-zed-testing 44 k DEBUG util.py:445: python3-inotify noarch 0.9.6-25.el9 baseos 53 k DEBUG util.py:445: python3-ironic-lib noarch 5.3.0-0.20220914172957.340a4b2.el9 delorean-component-baremetal 142 k DEBUG util.py:445: python3-iso8601 noarch 1.0.2-2.el9s delorean-zed-testing 22 k DEBUG util.py:445: python3-jeepney noarch 0.8.0-3.el9s delorean-zed-testing 345 k DEBUG util.py:445: python3-jmespath noarch 0.10.0-1.el9s delorean-zed-testing 45 k DEBUG util.py:445: python3-jsonpatch noarch 1.21-16.el9 appstream 26 k DEBUG util.py:445: python3-jsonpointer noarch 2.0-4.el9 appstream 19 k DEBUG util.py:445: python3-jsonschema noarch 3.2.0-13.el9 appstream 125 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-2.el9s delorean-zed-testing 156 k DEBUG util.py:445: python3-keyring noarch 21.8.0-2.el9s delorean-zed-testing 76 k DEBUG util.py:445: python3-keystoneauth1 noarch 5.0.0-0.20220913114133.2445a5d.el9 delorean-component-security 406 k DEBUG util.py:445: python3-keystoneclient noarch 1:5.0.1-0.20220913140034.bc8e9e7.el9 delorean-component-clients 237 k DEBUG util.py:445: python3-keystonemiddleware noarch 10.1.0-0.20220914163026.f7ac6a1.el9 delorean-component-security 92 k DEBUG util.py:445: python3-kickstart noarch 3.32.9-1.el9 appstream 534 k DEBUG util.py:445: python3-kombu noarch 1:5.2.4-3.el9s delorean-zed-testing 322 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-zed-testing 46 k DEBUG util.py:445: python3-lxml x86_64 4.6.5-3.el9 appstream 1.2 M DEBUG util.py:445: python3-mako noarch 1.1.4-6.el9 appstream 172 k DEBUG util.py:445: python3-memcached noarch 1.59-3.el9s delorean-zed-testing 39 k DEBUG util.py:445: python3-migrate noarch 0.13.0-5.el9s delorean-zed-testing 222 k DEBUG util.py:445: python3-mock noarch 4.0.3-5.el9s delorean-zed-testing 58 k DEBUG util.py:445: python3-msgpack x86_64 1.0.4-3.el9s delorean-zed-testing 85 k DEBUG util.py:445: python3-munch noarch 2.5.0-4.el9s delorean-zed-testing 23 k DEBUG util.py:445: python3-netaddr noarch 0.8.0-5.el9 appstream 1.6 M DEBUG util.py:445: python3-netifaces x86_64 0.10.6-15.el9 appstream 23 k DEBUG util.py:445: python3-openstacksdk noarch 0.101.0-0.20221103174000.433815d.el9 delorean-component-clients 778 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220909081319.0b2f473.el9 delorean-component-clients 36 k DEBUG util.py:445: python3-os-traits noarch 2.9.0-0.20220913121852.fc91a78.el9 delorean-component-common 48 k DEBUG util.py:445: python3-oslo-cache noarch 3.2.0-0.20221128115944.dde16ce.el9 delorean-component-common 54 k DEBUG util.py:445: python3-oslo-concurrency noarch 5.0.1-0.20220913105944.01cf2ff.el9 delorean-component-common 42 k DEBUG util.py:445: python3-oslo-config noarch 2:9.0.0-0.20220913094852.9eaae04.el9 delorean-component-common 216 k DEBUG util.py:445: python3-oslo-context noarch 5.0.0-0.20220910084952.f388eb9.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-db noarch 12.1.0-0.20220929090402.7f3647b.el9 delorean-component-common 139 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20220910085450.b031d17.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 5.0.0-0.20220910091625.6401da7.el9 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 14.0.0-0.20220913121539.e44f286.el9 delorean-component-common 221 k DEBUG util.py:445: python3-oslo-metrics noarch 0.5.0-0.20220913095319.fc22d0d.el9 delorean-component-common 23 k DEBUG util.py:445: python3-oslo-middleware noarch 5.0.0-0.20220913100152.51e1882.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-policy noarch 4.0.0-0.20220913100707.5bd767b.el9 delorean-component-common 75 k DEBUG util.py:445: python3-oslo-privsep noarch 3.0.1-0.20220913140830.e62d408.el9 delorean-component-common 42 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220909131700.1b1b960.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 5.0.0-0.20220910091027.dd2a819.el9 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 3.0.0-0.20220913101925.a27acfe.el9 delorean-component-common 69 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 2.0.0-0.20220913113658.b3a2b19.el9 delorean-component-common 27 k DEBUG util.py:445: python3-oslo-utils noarch 6.0.1-0.20220910090500.760deb9.el9 delorean-component-common 77 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 3.0.1-0.20220913115328.2b12029.el9 delorean-component-common 77 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20220913093411.d4b1896.el9 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.3-0.20220913113327.3286301.el9 delorean-component-common 128 k DEBUG util.py:445: python3-paste noarch 3.5.0-3.el9s delorean-zed-testing 775 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-2.el9s delorean-zed-testing 40 k DEBUG util.py:445: python3-pecan noarch 1.4.2-2.el9s delorean-zed-testing 272 k DEBUG util.py:445: python3-ply noarch 3.11-14.el9 baseos 106 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-27.el9 appstream 42 k DEBUG util.py:445: python3-prometheus_client noarch 0.9.0-2.el9s delorean-zed-testing 86 k DEBUG util.py:445: python3-psutil x86_64 5.8.0-12.el9 appstream 214 k DEBUG util.py:445: python3-pyOpenSSL noarch 20.0.1-2.el9s delorean-zed-testing 89 k DEBUG util.py:445: python3-pyasn1 noarch 0.4.8-6.el9 appstream 159 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20220909140437.4179996.el9 delorean-component-common 51 k DEBUG util.py:445: python3-pycdlib noarch 1.11.0-5.el9 appstream 248 k DEBUG util.py:445: python3-pycparser noarch 2.20-6.el9 baseos 135 k DEBUG util.py:445: python3-pyghmi noarch 1.5.34-2.el9 appstream 392 k DEBUG util.py:445: python3-pynacl x86_64 1.4.0-2.el9s delorean-zed-testing 108 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-zed-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-3.el9s delorean-zed-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-8.el9 appstream 114 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-6.el9s delorean-zed-testing 656 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-6.el9 baseos 205 k DEBUG util.py:445: python3-qpid-proton x86_64 0.35.0-2.el9s delorean-zed-testing 408 k DEBUG util.py:445: python3-redis noarch 4.3.4-1.el9s delorean-zed-testing 369 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-zed-testing 31 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220909080418.d7ac0ff.el9 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-2.el9s delorean-zed-testing 21 k DEBUG util.py:445: python3-rfc3986 noarch 1.5.0-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-routes noarch 2.5.1-1.el9s delorean-zed-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-zed-testing 35 k DEBUG util.py:445: python3-simplejson x86_64 3.17.6-2.el9s delorean-zed-testing 264 k DEBUG util.py:445: python3-smi noarch 0.3.4-10.el9s delorean-zed-testing 133 k DEBUG util.py:445: python3-sqlparse noarch 0.4.2-4.el9s delorean-zed-testing 83 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-zed-testing 34 k DEBUG util.py:445: python3-stestr noarch 3.2.0-3.el9s delorean-zed-testing 169 k DEBUG util.py:445: python3-stevedore noarch 4.0.2-0.20221021075011.93f1e09.el9 delorean-component-clients 68 k DEBUG util.py:445: python3-subunit noarch 1.4.0-6.el9s delorean-zed-testing 90 k DEBUG util.py:445: python3-sushy noarch 4.3.2-0.20221128094849.6c521c5.el9 delorean-component-baremetal 187 k DEBUG util.py:445: python3-swiftclient noarch 4.1.0-0.20220913142202.662e530.el9 delorean-component-clients 162 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-zed-testing 36 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el9s delorean-zed-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-zed-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-zed-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.5.0-2.el9s delorean-zed-testing 327 k DEBUG util.py:445: python3-tooz noarch 3.1.0-0.20220929085219.cb0392c.el9 delorean-component-common 106 k DEBUG util.py:445: python3-uhashring noarch 2.1-1.el9s delorean-zed-testing 24 k DEBUG util.py:445: python3-vine noarch 5.0.0-3.el9s delorean-zed-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.13.1-1.el9s delorean-zed-testing 59 k DEBUG util.py:445: python3-warlock noarch 1.3.3-5.el9s delorean-zed-testing 20 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-8.el9 appstream 44 k DEBUG util.py:445: python3-webob noarch 1.8.7-1.el9s delorean-zed-testing 230 k DEBUG util.py:445: python3-wrapt x86_64 1.14.1-1.el9s delorean-zed-testing 57 k DEBUG util.py:445: python3-yappi x86_64 1.3.6-1.el9s delorean-zed-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-zed-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.38.7-1.el9s delorean-zed-testing 141 k DEBUG util.py:445: python3-zipp noarch 3.6.0-1.el9s delorean-zed-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-zed-testing 225 k DEBUG util.py:445: syslinux x86_64 6.04-0.20.el9 baseos 571 k DEBUG util.py:445: syslinux-nonlinux noarch 6.04-0.20.el9 baseos 571 k DEBUG util.py:445: xorriso x86_64 1.5.4-4.el9 appstream 317 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: ipmitool x86_64 1.8.18-25.el9 appstream 386 k DEBUG util.py:445: python3-dracclient noarch 8.0.1-0.20230105105333.ce67a01.el9 delorean-component-baremetal 179 k DEBUG util.py:445: python3-proliantutils noarch 2.14.0-0.20221123184856.de9759c.el9 delorean-component-baremetal 285 k DEBUG util.py:445: python3-scciclient noarch 0.12.2-0.20220914082215.5627307.el9 delorean-component-baremetal 122 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Install 167 Packages DEBUG util.py:445: Total size: 28 M DEBUG util.py:445: Total download size: 2.2 M DEBUG util.py:445: Installed size: 119 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-3.2.0-0.20221128115944.dde16ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-5.0.1-0.20220913105944.01cf2ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-12.1.0-0.20220929090402.7f3647b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20220910085450.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-5.0.0-0.20220910091625.6401da7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-5.0.0-0.20220913100152.51e1882.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-4.0.0-0.20220913100707.5bd767b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-privsep-lang-3.0.1-0.20220913140830.e62d408.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-6.0.1-0.20220910090500.760deb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-3.0.1-0.20220913115328.2b12029.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20220909140437.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-3.0.1-0.20220913101013.0ea747e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-4.0.0-0.20220913115843.58c853d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.5.0-0.20221124135348.a6b46c5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.1-0.20220912114933.159d752.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.9.0-0.20220913121852.fc91a78.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-3.2.0-0.20221128115944.dde16ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-5.0.1-0.20220913105944.01cf2ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-9.0.0-0.20220913094852.9eaae04.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-5.0.0-0.20220910084952.f388eb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-12.1.0-0.20220929090402.7f3647b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20220910085450.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-5.0.0-0.20220910091625.6401da7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-14.0.0-0.20220913121539.e44f286.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.5.0-0.20220913095319.fc22d0d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-5.0.0-0.20220913100152.51e1882.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-4.0.0-0.20220913100707.5bd767b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-privsep-3.0.1-0.20220913140830.e62d408.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1b960.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-5.0.0-0.20220910091027.dd2a819.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-3.0.0-0.20220913101925.a27acfe.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-2.0.0-0.20220913113658.b3a2b19.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-6.0.1-0.20220910090500.760deb9.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-3.0.1-0.20220913115328.2b12029.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.3-0.20220913113327.3286301.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20220909140437.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220909080418.d7ac0ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-3.1.0-0.20220929085219.cb0392c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dracclient-8.0.1-0.20230105105333.ce67a01.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ironic-lib-5.3.0-0.20220914172957.340a4b2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-proliantutils-2.14.0-0.20221123184856.de9759c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-scciclient-0.12.2-0.20220914082215.5627307.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sushy-4.3.2-0.20221128094849.6c521c5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-5.0.0-0.20220913114133.2445a5d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-10.1.0-0.20220914163026.f7ac6a1.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-9.1.0-0.20220913141756.730a8c7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-4.1.0-0.20220913122332.f2999ce.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-5.0.1-0.20220913140034.bc8e9e7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.101.0-0.20221103174000.433815d.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220909081319.0b2f473.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20220913093411.d4b1896.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-4.0.2-0.20221021075011.93f1e09.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-4.1.0-0.20220913142202.662e530.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] dosfstools-4.2-3.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libyaml-0.2.5-7.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cffi-1.14.5-5.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cryptography-36.0.1-2.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dateutil-2.8.1-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-decorator-4.4.2-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-inotify-0.9.6-25.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ply-3.11-14.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycparser-2.20-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyyaml-5.4.1-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] syslinux-6.04-0.20.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] syslinux-nonlinux-6.04-0.20.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] dnsmasq-2.85-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] memcached-1.6.9-7.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-PyMySQL-0.10.1-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-appdirs-1.4.4-4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-attrs-20.3.0-7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpatch-1.21-16.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpointer-2.0-4.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonschema-3.2.0-13.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-lxml-4.6.5-3.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mako-1.1.4-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netaddr-0.8.0-5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netifaces-0.10.6-15.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prettytable-0.7.2-27.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psutil-5.8.0-12.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyasn1-0.4.8-6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycdlib-1.11.0-5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyghmi-1.5.34-2.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyrsistent-0.17.3-8.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wcwidth-0.2.5-8.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsodium-1.0.18-7.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-alembic-1.8.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.1.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-async-timeout-4.0.2-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.5.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.2.2-4.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-binary-memcached-0.31.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-5.2.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-2.4.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-defusedxml-0.7.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-deprecated-1.2.13-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dogpile-cache-1.1.8-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-etcd3gw-1.0.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-extras-1.0.0-15.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fasteners-0.17.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-27.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-future-0.18.2-9.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ifaddr-0.1.7-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-metadata-4.12.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-iso8601-1.0.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.8.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jmespath-0.10.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kazoo-2.8.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keyring-21.8.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kombu-5.2.4-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-logutils-0.3.5-15.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-memcached-1.59-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-migrate-0.13.0-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mock-4.0.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.4-3.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-munch-2.5.0-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-3.5.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-deploy-2.1.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pecan-1.4.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prometheus_client-0.9.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyOpenSSL-20.0.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pynacl-1.4.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyngus-2.3.0-8.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyperclip-1.8.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pysnmp-4.4.12-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-qpid-proton-0.35.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-redis-4.3.4-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-repoze-lru-0.7-10.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-retrying-1.3.3-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-rfc3986-1.5.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-routes-2.5.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-secretstorage-3.3.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-simplejson-3.17.6-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-smi-0.3.4-10.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.4.2-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-statsd-3.2.1-20.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stestr-3.2.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-subunit-1.4.0-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tempita-0.5.2-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tenacity-6.3.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testresources-2.0.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testscenarios-0.5.0-21.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testtools-2.5.0-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-uhashring-2.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-vine-5.0.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.13.1-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-warlock-1.3.3-5.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webob-1.8.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.14.1-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.6-1.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zake-0.2.2-22.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zeroconf-0.38.7-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zipp-3.6.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] qpid-proton-c-0.35.0-2.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: (154/161): mtools-4.0.26-4.el9.x86_64.rpm 1.3 MB/s | 222 kB 00:00 DEBUG util.py:445: (155/161): ipmitool-1.8.18-25.el9.x86_64.rpm 2.0 MB/s | 386 kB 00:00 DEBUG util.py:445: (156/161): libburn-1.5.4-4.el9.x86_64.rpm 893 kB/s | 173 kB 00:00 DEBUG util.py:445: (157/161): libisoburn-1.5.4-4.el9.x86_64.rpm 5.0 MB/s | 416 kB 00:00 DEBUG util.py:445: (158/161): pykickstart-3.32.9-1.el9.noarch.rpm 428 kB/s | 29 kB 00:00 DEBUG util.py:445: (159/161): libisofs-1.5.4-4.el9.x86_64.rpm 2.1 MB/s | 222 kB 00:00 DEBUG util.py:445: (160/161): python3-kickstart-3.32.9-1.el9.noarc 8.2 MB/s | 534 kB 00:00 DEBUG util.py:445: (161/161): xorriso-1.5.4-4.el9.x86_64.rpm 4.7 MB/s | 317 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 6.5 MB/s | 2.2 MB 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-stevedore-4.0.2-0.20221021075011.93f1e09 1/167 DEBUG util.py:445: Installing : python3-webob-1.8.7-1.el9s.noarch 2/167 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-27.el9.noarch 3/167 DEBUG util.py:445: Installing : python3-iso8601-1.0.2-2.el9s.noarch 4/167 DEBUG util.py:445: Installing : python3-netaddr-0.8.0-5.el9.noarch 5/167 DEBUG util.py:445: Installing : python3-decorator-4.4.2-6.el9.noarch 6/167 DEBUG util.py:445: Installing : python3-futurist-2.4.1-0.20220912114933.159d752. 7/167 DEBUG util.py:445: Installing : python3-wrapt-1.14.1-1.el9s.x86_64 8/167 DEBUG util.py:445: Installing : python3-debtcollector-2.5.0-0.20221124135348.a6b 9/167 DEBUG util.py:445: Installing : python3-oslo-context-5.0.0-0.20220910084952.f388 10/167 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el9s.noarch 11/167 DEBUG util.py:445: Installing : python3-msgpack-1.0.4-3.el9s.x86_64 12/167 DEBUG util.py:445: Installing : python3-extras-1.0.0-15.el9s.noarch 13/167 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-27.el9s.noarch 14/167 DEBUG util.py:445: Installing : python3-testtools-2.5.0-2.el9s.noarch 15/167 DEBUG util.py:445: Installing : python3-mako-1.1.4-6.el9.noarch 16/167 DEBUG util.py:445: Installing : python3-dateutil-1:2.8.1-6.el9.noarch 17/167 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220909081319. 18/167 DEBUG util.py:445: Installing : python3-keystoneauth1-5.0.0-0.20220913114133.244 19/167 DEBUG util.py:445: Installing : python3-sushy-4.3.2-0.20221128094849.6c521c5.el9 20/167 DEBUG util.py:445: Installing : python3-alembic-1.8.1-1.el9s.noarch 21/167 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.8-1.el9s.noarch 22/167 DEBUG util.py:445: Installing : python3-subunit-1.4.0-6.el9s.noarch 23/167 DEBUG util.py:445: Installing : python3-voluptuous-0.13.1-1.el9s.noarch 24/167 DEBUG util.py:445: Installing : python3-vine-5.0.0-3.el9s.noarch 25/167 DEBUG util.py:445: Installing : python3-amqp-5.1.1-1.el9s.noarch 26/167 DEBUG util.py:445: Installing : python3-tempita-0.5.2-2.el9s.noarch 27/167 DEBUG util.py:445: Installing : python3-rfc3986-1.5.0-1.el9s.noarch 28/167 DEBUG util.py:445: Installing : python3-jeepney-0.8.0-3.el9s.noarch 29/167 DEBUG util.py:445: Installing : python3-fasteners-0.17.3-5.el9s.noarch 30/167 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-15.el9.x86_64 31/167 DEBUG util.py:445: Installing : python3-attrs-20.3.0-7.el9.noarch 32/167 DEBUG util.py:445: Installing : mtools-4.0.26-4.el9.x86_64 33/167 DEBUG util.py:445: Installing : syslinux-nonlinux-6.04-0.20.el9.noarch 34/167 DEBUG util.py:445: Installing : syslinux-6.04-0.20.el9.x86_64 35/167 DEBUG util.py:445: Installing : python3-kombu-1:5.2.4-3.el9s.noarch 36/167 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20220913093411.d4b1896. 37/167 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-21.el9s.noarch 38/167 DEBUG util.py:445: Installing : python3-deprecated-1.2.13-3.el9s.noarch 39/167 DEBUG util.py:445: Installing : python3-etcd3gw-1.0.0-2.el9s.noarch 40/167 DEBUG util.py:445: Installing : python3-prometheus_client-0.9.0-2.el9s.noarch 41/167 DEBUG util.py:445: Installing : python3-automaton-3.0.1-0.20220913101013.0ea747e 42/167 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-2.el9s.x86_64 43/167 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-2.el9s.x86_64 44/167 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-8.el9s.noarch 45/167 DEBUG util.py:445: Installing : python3-zipp-3.6.0-1.el9s.noarch 46/167 DEBUG util.py:445: Installing : python3-importlib-metadata-4.12.0-2.el9s.noarch 47/167 DEBUG util.py:445: Installing : python3-yappi-1.3.6-1.el9s.x86_64 48/167 DEBUG util.py:445: Installing : python3-uhashring-2.1-1.el9s.noarch 49/167 DEBUG util.py:445: Installing : python3-testresources-2.0.1-2.el9s.noarch 50/167 DEBUG util.py:445: Installing : python3-statsd-3.2.1-20.el9s.noarch 51/167 DEBUG util.py:445: Installing : python3-sqlparse-0.4.2-4.el9s.noarch 52/167 DEBUG util.py:445: Installing : python3-migrate-0.13.0-5.el9s.noarch 53/167 DEBUG util.py:445: Installing : python3-smi-0.3.4-10.el9s.noarch 54/167 DEBUG util.py:445: Installing : python3-simplejson-3.17.6-2.el9s.x86_64 55/167 DEBUG util.py:445: Installing : python3-retrying-1.3.3-2.el9s.noarch 56/167 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-10.el9s.noarch 57/167 DEBUG util.py:445: Installing : python3-routes-2.5.1-1.el9s.noarch 58/167 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-3.el9s.noarch 59/167 DEBUG util.py:445: Installing : python3-munch-2.5.0-4.el9s.noarch 60/167 DEBUG util.py:445: Installing : python3-mock-4.0.3-5.el9s.noarch 61/167 DEBUG util.py:445: Installing : python3-memcached-1.59-3.el9s.noarch 62/167 DEBUG util.py:445: Installing : python3-logutils-0.3.5-15.el9s.noarch 63/167 DEBUG util.py:445: Installing : python3-pecan-1.4.2-2.el9s.noarch 64/167 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-2.el9s.noarch 65/167 DEBUG util.py:445: Installing : python3-zake-0.2.2-22.el9s.noarch 66/167 DEBUG util.py:445: Installing : python3-jmespath-0.10.0-1.el9s.noarch 67/167 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-3.el9s.noarch 68/167 DEBUG util.py:445: Installing : python3-zeroconf-0.38.7-1.el9s.noarch 69/167 DEBUG util.py:445: Installing : python3-future-0.18.2-9.el9s.noarch 70/167 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el9s.noarch 71/167 DEBUG util.py:445: Installing : python3-cachetools-5.2.0-3.el9s.noarch 72/167 DEBUG util.py:445: Installing : python3-autopage-0.5.1-1.el9s.noarch 73/167 DEBUG util.py:445: Installing : python3-async-timeout-4.0.2-5.el9s.noarch 74/167 DEBUG util.py:445: Installing : python3-redis-4.3.4-1.el9s.noarch 75/167 DEBUG util.py:445: Installing : libsodium-1.0.18-7.el9s.x86_64 76/167 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-8.el9.noarch 77/167 DEBUG util.py:445: Installing : python3-cmd2-2.4.2-1.el9s.noarch 78/167 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-8.el9.x86_64 79/167 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-13.el9.noarch 80/167 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-5.el9.noarch 81/167 DEBUG util.py:445: Installing : python3-pyasn1-0.4.8-6.el9.noarch 82/167 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-6.el9s.noarch 83/167 DEBUG util.py:445: Installing : python3-psutil-5.8.0-12.el9.x86_64 84/167 DEBUG util.py:445: Installing : python3-lxml-4.6.5-3.el9.x86_64 85/167 DEBUG util.py:445: Installing : python3-dracclient-8.0.1-0.20230105105333.ce67a0 86/167 DEBUG util.py:445: Installing : python3-kickstart-3.32.9-1.el9.noarch 87/167 DEBUG util.py:445: Installing : pykickstart-3.32.9-1.el9.noarch 88/167 DEBUG util.py:445: Installing : python3-jsonpointer-2.0-4.el9.noarch 89/167 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-16.el9.noarch 90/167 DEBUG util.py:445: Installing : python3-warlock-1.3.3-5.el9s.noarch 91/167 DEBUG util.py:445: Installing : python3-appdirs-1.4.4-4.el9.noarch 92/167 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 93/167 DEBUG util.py:445: Installing : memcached-1.6.9-7.el9.x86_64 93/167 DEBUG util.py:445: Running scriptlet: memcached-1.6.9-7.el9.x86_64 93/167 DEBUG util.py:445: Installing : python3-binary-memcached-0.31.1-1.el9s.noarch 94/167 DEBUG util.py:445: Installing : libisofs-1.5.4-4.el9.x86_64 95/167 DEBUG util.py:445: Installing : libburn-1.5.4-4.el9.x86_64 96/167 DEBUG util.py:445: Installing : libisoburn-1.5.4-4.el9.x86_64 97/167 DEBUG util.py:445: Installing : xorriso-1.5.4-4.el9.x86_64 98/167 DEBUG util.py:445: Running scriptlet: xorriso-1.5.4-4.el9.x86_64 98/167 DEBUG util.py:445: Installing : ipmitool-1.8.18-25.el9.x86_64 99/167 DEBUG util.py:445: Running scriptlet: dnsmasq-2.85-6.el9.x86_64 100/167 DEBUG util.py:445: Installing : dnsmasq-2.85-6.el9.x86_64 100/167 DEBUG util.py:445: Running scriptlet: dnsmasq-2.85-6.el9.x86_64 100/167 DEBUG util.py:445: Installing : python3-ply-3.11-14.el9.noarch 101/167 DEBUG util.py:445: Installing : python3-pycparser-2.20-6.el9.noarch 102/167 DEBUG util.py:445: Installing : python3-cffi-1.14.5-5.el9.x86_64 103/167 DEBUG util.py:445: Installing : python3-cryptography-36.0.1-2.el9.x86_64 104/167 DEBUG util.py:445: Installing : python3-pyOpenSSL-20.0.1-2.el9s.noarch 105/167 DEBUG util.py:445: Installing : python3-paste-3.5.0-3.el9s.noarch 106/167 DEBUG util.py:445: Installing : python3-bcrypt-3.2.2-4.el9s.x86_64 107/167 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-2.el9s.noarch 108/167 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-6.el9.noarch 109/167 DEBUG util.py:445: Installing : python3-pyghmi-1.5.34-2.el9.noarch 110/167 DEBUG util.py:445: Installing : python3-secretstorage-3.3.1-1.el9s.noarch 111/167 DEBUG util.py:445: Installing : python3-keyring-21.8.0-2.el9s.noarch 112/167 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-2.el9s.x86_64 113/167 DEBUG util.py:445: Installing : python3-inotify-0.9.6-25.el9.noarch 114/167 DEBUG util.py:445: Installing : libyaml-0.2.5-7.el9.x86_64 115/167 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-6.el9.x86_64 116/167 DEBUG util.py:445: Installing : python3-cliff-4.0.0-0.20220913115843.58c853d.el9 117/167 DEBUG util.py:445: Installing : python3-stestr-3.2.0-3.el9s.noarch 118/167 DEBUG util.py:445: Installing : dosfstools-4.2-3.el9.x86_64 119/167 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022090908041 120/167 DEBUG util.py:445: Installing : python3-openstacksdk-0.101.0-0.20221103174000.43 121/167 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1 122/167 DEBUG util.py:445: Installing : python3-os-traits-2.9.0-0.20220913121852.fc91a78 123/167 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20220909140437.4179 124/167 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-3.0.1-0.202209 125/167 DEBUG util.py:445: Installing : python-oslo-utils-lang-6.0.1-0.20220910090500.76 126/167 DEBUG util.py:445: Installing : python-oslo-privsep-lang-3.0.1-0.20220913140830. 127/167 DEBUG util.py:445: Installing : python-oslo-policy-lang-4.0.0-0.20220913100707.5 128/167 DEBUG util.py:445: Installing : python-oslo-middleware-lang-5.0.0-0.202209131001 129/167 DEBUG util.py:445: Installing : python-oslo-log-lang-5.0.0-0.20220910091625.6401 130/167 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20220910085450.b03 131/167 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20220910085450.b031d17 132/167 DEBUG util.py:445: Installing : python3-oslo-utils-6.0.1-0.20220910090500.760deb 133/167 DEBUG util.py:445: Installing : python3-oslo-config-2:9.0.0-0.20220913094852.9ea 134/167 DEBUG util.py:445: Installing : python3-oslo-serialization-5.0.0-0.2022091009102 135/167 DEBUG util.py:445: Installing : python3-oslo-log-5.0.0-0.20220910091625.6401da7. 136/167 DEBUG util.py:445: Installing : python3-oslo-policy-4.0.0-0.20220913100707.5bd76 137/167 DEBUG util.py:445: Installing : python3-keystoneclient-1:5.0.1-0.20220913140034. 138/167 DEBUG util.py:445: Installing : python3-oslo-middleware-5.0.0-0.20220913100152.5 139/167 DEBUG util.py:445: Installing : python3-swiftclient-4.1.0-0.20220913142202.662e5 140/167 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-2.0.0-0.20220913113658 141/167 DEBUG util.py:445: Installing : python3-oslo-metrics-0.5.0-0.20220913095319.fc22 142/167 DEBUG util.py:445: Installing : python3-oslo-privsep-3.0.1-0.20220913140830.e62d 143/167 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20220909140437.4179996.el 144/167 DEBUG util.py:445: Installing : python3-tooz-3.1.0-0.20220929085219.cb0392c.el9. 145/167 DEBUG util.py:445: Installing : python3-scciclient-0.12.2-0.20220914082215.56273 146/167 DEBUG util.py:445: Installing : python3-cinderclient-9.1.0-0.20220913141756.730a 147/167 DEBUG util.py:445: Installing : python3-glanceclient-1:4.1.0-0.20220913122332.f2 148/167 DEBUG util.py:445: Installing : python-oslo-db-lang-12.1.0-0.20220929090402.7f36 149/167 DEBUG util.py:445: Installing : python3-oslo-db-12.1.0-0.20220929090402.7f3647b. 150/167 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-5.0.1-0.20220913105 151/167 DEBUG util.py:445: Installing : python3-oslo-concurrency-5.0.1-0.20220913105944. 152/167 DEBUG util.py:445: Installing : python3-oslo-service-3.0.0-0.20220913101925.a27a 153/167 DEBUG util.py:445: Installing : python3-oslo-messaging-14.0.0-0.20220913121539.e 154/167 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-3.0.1-0.2022091311 155/167 DEBUG util.py:445: Installing : python3-osprofiler-3.4.3-0.20220913113327.328630 156/167 DEBUG util.py:445: Installing : python3-ironic-lib-5.3.0-0.20220914172957.340a4b 157/167 DEBUG util.py:445: warning: group ironic does not exist - using root DEBUG util.py:445: Installing : python3-proliantutils-2.14.0-0.20221123184856.de 158/167 DEBUG util.py:445: Installing : python-oslo-cache-lang-3.2.0-0.20221128115944.dd 159/167 DEBUG util.py:445: Installing : python3-oslo-cache-3.2.0-0.20221128115944.dde16c 160/167 DEBUG util.py:445: Installing : python3-keystonemiddleware-10.1.0-0.202209141630 161/167 DEBUG util.py:445: Running scriptlet: openstack-ironic-common-1:21.1.1-0.2023041916092 162/167 DEBUG util.py:445: Installing : openstack-ironic-common-1:21.1.1-0.2023041916092 162/167 DEBUG util.py:445: Installing : openstack-ironic-1:21.1.1-0.20230419160927.b5d2f 163/167 DEBUG util.py:445: Running scriptlet: openstack-ironic-1:21.1.1-0.20230419160927.b5d2f 163/167 DEBUG util.py:445: Installing : openstack-ironic-conductor-1:21.1.1-0.2023041916 164/167 DEBUG util.py:445: Running scriptlet: openstack-ironic-conductor-1:21.1.1-0.2023041916 164/167 DEBUG util.py:445: Installing : python3-ironic-tests-1:21.1.1-0.20230419160927.b 165/167 DEBUG util.py:445: Installing : openstack-ironic-api-1:21.1.1-0.20230419160927.b 166/167 DEBUG util.py:445: Running scriptlet: openstack-ironic-api-1:21.1.1-0.20230419160927.b 166/167 DEBUG util.py:445: Installing : openstack-ironic-dnsmasq-tftp-server-1:21.1.1-0. 167/167 DEBUG util.py:445: Running scriptlet: openstack-ironic-dnsmasq-tftp-server-1:21.1.1-0. 167/167 DEBUG util.py:445: Verifying : python-oslo-cache-lang-3.2.0-0.20221128115944.dd 1/167 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-5.0.1-0.20220913105 2/167 DEBUG util.py:445: Verifying : python-oslo-db-lang-12.1.0-0.20220929090402.7f36 3/167 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20220910085450.b03 4/167 DEBUG util.py:445: Verifying : python-oslo-log-lang-5.0.0-0.20220910091625.6401 5/167 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-5.0.0-0.202209131001 6/167 DEBUG util.py:445: Verifying : python-oslo-policy-lang-4.0.0-0.20220913100707.5 7/167 DEBUG util.py:445: Verifying : python-oslo-privsep-lang-3.0.1-0.20220913140830. 8/167 DEBUG util.py:445: Verifying : python-oslo-utils-lang-6.0.1-0.20220910090500.76 9/167 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-3.0.1-0.202209 10/167 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20220909140437.4179 11/167 DEBUG util.py:445: Verifying : python3-automaton-3.0.1-0.20220913101013.0ea747e 12/167 DEBUG util.py:445: Verifying : python3-cliff-4.0.0-0.20220913115843.58c853d.el9 13/167 DEBUG util.py:445: Verifying : python3-debtcollector-2.5.0-0.20221124135348.a6b 14/167 DEBUG util.py:445: Verifying : python3-futurist-2.4.1-0.20220912114933.159d752. 15/167 DEBUG util.py:445: Verifying : python3-os-traits-2.9.0-0.20220913121852.fc91a78 16/167 DEBUG util.py:445: Verifying : python3-oslo-cache-3.2.0-0.20221128115944.dde16c 17/167 DEBUG util.py:445: Verifying : python3-oslo-concurrency-5.0.1-0.20220913105944. 18/167 DEBUG util.py:445: Verifying : python3-oslo-config-2:9.0.0-0.20220913094852.9ea 19/167 DEBUG util.py:445: Verifying : python3-oslo-context-5.0.0-0.20220910084952.f388 20/167 DEBUG util.py:445: Verifying : python3-oslo-db-12.1.0-0.20220929090402.7f3647b. 21/167 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20220910085450.b031d17 22/167 DEBUG util.py:445: Verifying : python3-oslo-log-5.0.0-0.20220910091625.6401da7. 23/167 DEBUG util.py:445: Verifying : python3-oslo-messaging-14.0.0-0.20220913121539.e 24/167 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.5.0-0.20220913095319.fc22 25/167 DEBUG util.py:445: Verifying : python3-oslo-middleware-5.0.0-0.20220913100152.5 26/167 DEBUG util.py:445: Verifying : python3-oslo-policy-4.0.0-0.20220913100707.5bd76 27/167 DEBUG util.py:445: Verifying : python3-oslo-privsep-3.0.1-0.20220913140830.e62d 28/167 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1 29/167 DEBUG util.py:445: Verifying : python3-oslo-serialization-5.0.0-0.2022091009102 30/167 DEBUG util.py:445: Verifying : python3-oslo-service-3.0.0-0.20220913101925.a27a 31/167 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-2.0.0-0.20220913113658 32/167 DEBUG util.py:445: Verifying : python3-oslo-utils-6.0.1-0.20220910090500.760deb 33/167 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-3.0.1-0.2022091311 34/167 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.3-0.20220913113327.328630 35/167 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20220909140437.4179996.el 36/167 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022090908041 37/167 DEBUG util.py:445: Verifying : python3-tooz-3.1.0-0.20220929085219.cb0392c.el9. 38/167 DEBUG util.py:445: Verifying : python3-dracclient-8.0.1-0.20230105105333.ce67a0 39/167 DEBUG util.py:445: Verifying : python3-ironic-lib-5.3.0-0.20220914172957.340a4b 40/167 DEBUG util.py:445: Verifying : python3-proliantutils-2.14.0-0.20221123184856.de 41/167 DEBUG util.py:445: Verifying : python3-scciclient-0.12.2-0.20220914082215.56273 42/167 DEBUG util.py:445: Verifying : python3-sushy-4.3.2-0.20221128094849.6c521c5.el9 43/167 DEBUG util.py:445: Verifying : python3-keystoneauth1-5.0.0-0.20220913114133.244 44/167 DEBUG util.py:445: Verifying : python3-keystonemiddleware-10.1.0-0.202209141630 45/167 DEBUG util.py:445: Verifying : python3-cinderclient-9.1.0-0.20220913141756.730a 46/167 DEBUG util.py:445: Verifying : python3-glanceclient-1:4.1.0-0.20220913122332.f2 47/167 DEBUG util.py:445: Verifying : python3-keystoneclient-1:5.0.1-0.20220913140034. 48/167 DEBUG util.py:445: Verifying : python3-openstacksdk-0.101.0-0.20221103174000.43 49/167 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220909081319. 50/167 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20220913093411.d4b1896. 51/167 DEBUG util.py:445: Verifying : python3-stevedore-4.0.2-0.20221021075011.93f1e09 52/167 DEBUG util.py:445: Verifying : python3-swiftclient-4.1.0-0.20220913142202.662e5 53/167 DEBUG util.py:445: Verifying : dosfstools-4.2-3.el9.x86_64 54/167 DEBUG util.py:445: Verifying : libyaml-0.2.5-7.el9.x86_64 55/167 DEBUG util.py:445: Verifying : mtools-4.0.26-4.el9.x86_64 56/167 DEBUG util.py:445: Verifying : python3-cffi-1.14.5-5.el9.x86_64 57/167 DEBUG util.py:445: Verifying : python3-cryptography-36.0.1-2.el9.x86_64 58/167 DEBUG util.py:445: Verifying : python3-dateutil-1:2.8.1-6.el9.noarch 59/167 DEBUG util.py:445: Verifying : python3-decorator-4.4.2-6.el9.noarch 60/167 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-25.el9.noarch 61/167 DEBUG util.py:445: Verifying : python3-ply-3.11-14.el9.noarch 62/167 DEBUG util.py:445: Verifying : python3-pycparser-2.20-6.el9.noarch 63/167 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-6.el9.x86_64 64/167 DEBUG util.py:445: Verifying : syslinux-6.04-0.20.el9.x86_64 65/167 DEBUG util.py:445: Verifying : syslinux-nonlinux-6.04-0.20.el9.noarch 66/167 DEBUG util.py:445: Verifying : dnsmasq-2.85-6.el9.x86_64 67/167 DEBUG util.py:445: Verifying : ipmitool-1.8.18-25.el9.x86_64 68/167 DEBUG util.py:445: Verifying : libburn-1.5.4-4.el9.x86_64 69/167 DEBUG util.py:445: Verifying : libisoburn-1.5.4-4.el9.x86_64 70/167 DEBUG util.py:445: Verifying : libisofs-1.5.4-4.el9.x86_64 71/167 DEBUG util.py:445: Verifying : memcached-1.6.9-7.el9.x86_64 72/167 DEBUG util.py:445: Verifying : pykickstart-3.32.9-1.el9.noarch 73/167 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-6.el9.noarch 74/167 DEBUG util.py:445: Verifying : python3-appdirs-1.4.4-4.el9.noarch 75/167 DEBUG util.py:445: Verifying : python3-attrs-20.3.0-7.el9.noarch 76/167 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-16.el9.noarch 77/167 DEBUG util.py:445: Verifying : python3-jsonpointer-2.0-4.el9.noarch 78/167 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-13.el9.noarch 79/167 DEBUG util.py:445: Verifying : python3-kickstart-3.32.9-1.el9.noarch 80/167 DEBUG util.py:445: Verifying : python3-lxml-4.6.5-3.el9.x86_64 81/167 DEBUG util.py:445: Verifying : python3-mako-1.1.4-6.el9.noarch 82/167 DEBUG util.py:445: Verifying : python3-netaddr-0.8.0-5.el9.noarch 83/167 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-15.el9.x86_64 84/167 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-27.el9.noarch 85/167 DEBUG util.py:445: Verifying : python3-psutil-5.8.0-12.el9.x86_64 86/167 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.8-6.el9.noarch 87/167 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-5.el9.noarch 88/167 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.34-2.el9.noarch 89/167 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-8.el9.x86_64 90/167 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-8.el9.noarch 91/167 DEBUG util.py:445: Verifying : xorriso-1.5.4-4.el9.x86_64 92/167 DEBUG util.py:445: Verifying : libsodium-1.0.18-7.el9s.x86_64 93/167 DEBUG util.py:445: Verifying : python3-alembic-1.8.1-1.el9s.noarch 94/167 DEBUG util.py:445: Verifying : python3-amqp-5.1.1-1.el9s.noarch 95/167 DEBUG util.py:445: Verifying : python3-async-timeout-4.0.2-5.el9s.noarch 96/167 DEBUG util.py:445: Verifying : python3-autopage-0.5.1-1.el9s.noarch 97/167 DEBUG util.py:445: Verifying : python3-bcrypt-3.2.2-4.el9s.x86_64 98/167 DEBUG util.py:445: Verifying : python3-binary-memcached-0.31.1-1.el9s.noarch 99/167 DEBUG util.py:445: Verifying : python3-cachetools-5.2.0-3.el9s.noarch 100/167 DEBUG util.py:445: Verifying : python3-cmd2-2.4.2-1.el9s.noarch 101/167 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el9s.noarch 102/167 DEBUG util.py:445: Verifying : python3-deprecated-1.2.13-3.el9s.noarch 103/167 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.8-1.el9s.noarch 104/167 DEBUG util.py:445: Verifying : python3-etcd3gw-1.0.0-2.el9s.noarch 105/167 DEBUG util.py:445: Verifying : python3-extras-1.0.0-15.el9s.noarch 106/167 DEBUG util.py:445: Verifying : python3-fasteners-0.17.3-5.el9s.noarch 107/167 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-27.el9s.noarch 108/167 DEBUG util.py:445: Verifying : python3-future-0.18.2-9.el9s.noarch 109/167 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-3.el9s.noarch 110/167 DEBUG util.py:445: Verifying : python3-importlib-metadata-4.12.0-2.el9s.noarch 111/167 DEBUG util.py:445: Verifying : python3-iso8601-1.0.2-2.el9s.noarch 112/167 DEBUG util.py:445: Verifying : python3-jeepney-0.8.0-3.el9s.noarch 113/167 DEBUG util.py:445: Verifying : python3-jmespath-0.10.0-1.el9s.noarch 114/167 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-2.el9s.noarch 115/167 DEBUG util.py:445: Verifying : python3-keyring-21.8.0-2.el9s.noarch 116/167 DEBUG util.py:445: Verifying : python3-kombu-1:5.2.4-3.el9s.noarch 117/167 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-15.el9s.noarch 118/167 DEBUG util.py:445: Verifying : python3-memcached-1.59-3.el9s.noarch 119/167 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-5.el9s.noarch 120/167 DEBUG util.py:445: Verifying : python3-mock-4.0.3-5.el9s.noarch 121/167 DEBUG util.py:445: Verifying : python3-msgpack-1.0.4-3.el9s.x86_64 122/167 DEBUG util.py:445: Verifying : python3-munch-2.5.0-4.el9s.noarch 123/167 DEBUG util.py:445: Verifying : python3-paste-3.5.0-3.el9s.noarch 124/167 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-2.el9s.noarch 125/167 DEBUG util.py:445: Verifying : python3-pecan-1.4.2-2.el9s.noarch 126/167 DEBUG util.py:445: Verifying : python3-prometheus_client-0.9.0-2.el9s.noarch 127/167 DEBUG util.py:445: Verifying : python3-pyOpenSSL-20.0.1-2.el9s.noarch 128/167 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-2.el9s.x86_64 129/167 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-8.el9s.noarch 130/167 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-3.el9s.noarch 131/167 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-6.el9s.noarch 132/167 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-2.el9s.x86_64 133/167 DEBUG util.py:445: Verifying : python3-redis-4.3.4-1.el9s.noarch 134/167 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-10.el9s.noarch 135/167 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-2.el9s.noarch 136/167 DEBUG util.py:445: Verifying : python3-rfc3986-1.5.0-1.el9s.noarch 137/167 DEBUG util.py:445: Verifying : python3-routes-2.5.1-1.el9s.noarch 138/167 DEBUG util.py:445: Verifying : python3-secretstorage-3.3.1-1.el9s.noarch 139/167 DEBUG util.py:445: Verifying : python3-simplejson-3.17.6-2.el9s.x86_64 140/167 DEBUG util.py:445: Verifying : python3-smi-0.3.4-10.el9s.noarch 141/167 DEBUG util.py:445: Verifying : python3-sqlparse-0.4.2-4.el9s.noarch 142/167 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-20.el9s.noarch 143/167 DEBUG util.py:445: Verifying : python3-stestr-3.2.0-3.el9s.noarch 144/167 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-6.el9s.noarch 145/167 DEBUG util.py:445: Verifying : python3-tempita-0.5.2-2.el9s.noarch 146/167 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el9s.noarch 147/167 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-2.el9s.noarch 148/167 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-21.el9s.noarch 149/167 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-2.el9s.noarch 150/167 DEBUG util.py:445: Verifying : python3-uhashring-2.1-1.el9s.noarch 151/167 DEBUG util.py:445: Verifying : python3-vine-5.0.0-3.el9s.noarch 152/167 DEBUG util.py:445: Verifying : python3-voluptuous-0.13.1-1.el9s.noarch 153/167 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-5.el9s.noarch 154/167 DEBUG util.py:445: Verifying : python3-webob-1.8.7-1.el9s.noarch 155/167 DEBUG util.py:445: Verifying : python3-wrapt-1.14.1-1.el9s.x86_64 156/167 DEBUG util.py:445: Verifying : python3-yappi-1.3.6-1.el9s.x86_64 157/167 DEBUG util.py:445: Verifying : python3-zake-0.2.2-22.el9s.noarch 158/167 DEBUG util.py:445: Verifying : python3-zeroconf-0.38.7-1.el9s.noarch 159/167 DEBUG util.py:445: Verifying : python3-zipp-3.6.0-1.el9s.noarch 160/167 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-2.el9s.x86_64 161/167 DEBUG util.py:445: Verifying : openstack-ironic-1:21.1.1-0.20230419160927.b5d2f 162/167 DEBUG util.py:445: Verifying : openstack-ironic-conductor-1:21.1.1-0.2023041916 163/167 DEBUG util.py:445: Verifying : openstack-ironic-common-1:21.1.1-0.2023041916092 164/167 DEBUG util.py:445: Verifying : python3-ironic-tests-1:21.1.1-0.20230419160927.b 165/167 DEBUG util.py:445: Verifying : openstack-ironic-dnsmasq-tftp-server-1:21.1.1-0. 166/167 DEBUG util.py:445: Verifying : openstack-ironic-api-1:21.1.1-0.20230419160927.b 167/167 DEBUG util.py:445: Installed: DEBUG util.py:445: dnsmasq-2.85-6.el9.x86_64 DEBUG util.py:445: dosfstools-4.2-3.el9.x86_64 DEBUG util.py:445: ipmitool-1.8.18-25.el9.x86_64 DEBUG util.py:445: libburn-1.5.4-4.el9.x86_64 DEBUG util.py:445: libisoburn-1.5.4-4.el9.x86_64 DEBUG util.py:445: libisofs-1.5.4-4.el9.x86_64 DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 DEBUG util.py:445: libyaml-0.2.5-7.el9.x86_64 DEBUG util.py:445: memcached-1.6.9-7.el9.x86_64 DEBUG util.py:445: mtools-4.0.26-4.el9.x86_64 DEBUG util.py:445: openstack-ironic-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: openstack-ironic-api-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: openstack-ironic-common-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: openstack-ironic-conductor-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: pykickstart-3.32.9-1.el9.noarch DEBUG util.py:445: python-oslo-cache-lang-3.2.0-0.20221128115944.dde16ce.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-5.0.1-0.20220913105944.01cf2ff.el9.noarch DEBUG util.py:445: python-oslo-db-lang-12.1.0-0.20220929090402.7f3647b.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220910085450.b031d17.el9.noarch DEBUG util.py:445: python-oslo-log-lang-5.0.0-0.20220910091625.6401da7.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-5.0.0-0.20220913100152.51e1882.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-4.0.0-0.20220913100707.5bd767b.el9.noarch DEBUG util.py:445: python-oslo-privsep-lang-3.0.1-0.20220913140830.e62d408.el9.noarch DEBUG util.py:445: python-oslo-utils-lang-6.0.1-0.20220910090500.760deb9.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-3.0.1-0.20220913115328.2b12029.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220909140437.4179996.el9.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-alembic-1.8.1-1.el9s.noarch DEBUG util.py:445: python3-amqp-5.1.1-1.el9s.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-async-timeout-4.0.2-5.el9s.noarch DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-automaton-3.0.1-0.20220913101013.0ea747e.el9.noarch DEBUG util.py:445: python3-autopage-0.5.1-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.2.2-4.el9s.x86_64 DEBUG util.py:445: python3-binary-memcached-0.31.1-1.el9s.noarch DEBUG util.py:445: python3-cachetools-5.2.0-3.el9s.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cinderclient-9.1.0-0.20220913141756.730a8c7.el9.noarch DEBUG util.py:445: python3-cliff-4.0.0-0.20220913115843.58c853d.el9.noarch DEBUG util.py:445: python3-cmd2-2.4.2-1.el9s.noarch DEBUG util.py:445: python3-cryptography-36.0.1-2.el9.x86_64 DEBUG util.py:445: python3-dateutil-1:2.8.1-6.el9.noarch DEBUG util.py:445: python3-debtcollector-2.5.0-0.20221124135348.a6b46c5.el9.noarch DEBUG util.py:445: python3-decorator-4.4.2-6.el9.noarch DEBUG util.py:445: python3-defusedxml-0.7.1-1.el9s.noarch DEBUG util.py:445: python3-deprecated-1.2.13-3.el9s.noarch DEBUG util.py:445: python3-dogpile-cache-1.1.8-1.el9s.noarch DEBUG util.py:445: python3-dracclient-8.0.1-0.20230105105333.ce67a01.el9.noarch DEBUG util.py:445: python3-etcd3gw-1.0.0-2.el9s.noarch DEBUG util.py:445: python3-extras-1.0.0-15.el9s.noarch DEBUG util.py:445: python3-fasteners-0.17.3-5.el9s.noarch DEBUG util.py:445: python3-fixtures-3.0.0-27.el9s.noarch DEBUG util.py:445: python3-future-0.18.2-9.el9s.noarch DEBUG util.py:445: python3-futurist-2.4.1-0.20220912114933.159d752.el9.noarch DEBUG util.py:445: python3-glanceclient-1:4.1.0-0.20220913122332.f2999ce.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-importlib-metadata-4.12.0-2.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-ironic-lib-5.3.0-0.20220914172957.340a4b2.el9.noarch DEBUG util.py:445: python3-ironic-tests-1:21.1.1-0.20230419160927.b5d2fda.el9.noarch DEBUG util.py:445: python3-iso8601-1.0.2-2.el9s.noarch DEBUG util.py:445: python3-jeepney-0.8.0-3.el9s.noarch DEBUG util.py:445: python3-jmespath-0.10.0-1.el9s.noarch DEBUG util.py:445: python3-jsonpatch-1.21-16.el9.noarch DEBUG util.py:445: python3-jsonpointer-2.0-4.el9.noarch DEBUG util.py:445: python3-jsonschema-3.2.0-13.el9.noarch DEBUG util.py:445: python3-kazoo-2.8.0-2.el9s.noarch DEBUG util.py:445: python3-keyring-21.8.0-2.el9s.noarch DEBUG util.py:445: python3-keystoneauth1-5.0.0-0.20220913114133.2445a5d.el9.noarch DEBUG util.py:445: python3-keystoneclient-1:5.0.1-0.20220913140034.bc8e9e7.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-10.1.0-0.20220914163026.f7ac6a1.el9.noarch DEBUG util.py:445: python3-kickstart-3.32.9-1.el9.noarch DEBUG util.py:445: python3-kombu-1:5.2.4-3.el9s.noarch DEBUG util.py:445: python3-logutils-0.3.5-15.el9s.noarch DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 DEBUG util.py:445: python3-mako-1.1.4-6.el9.noarch DEBUG util.py:445: python3-memcached-1.59-3.el9s.noarch DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch DEBUG util.py:445: python3-mock-4.0.3-5.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.4-3.el9s.x86_64 DEBUG util.py:445: python3-munch-2.5.0-4.el9s.noarch DEBUG util.py:445: python3-netaddr-0.8.0-5.el9.noarch DEBUG util.py:445: python3-netifaces-0.10.6-15.el9.x86_64 DEBUG util.py:445: python3-openstacksdk-0.101.0-0.20221103174000.433815d.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220909081319.0b2f473.el9.noarch DEBUG util.py:445: python3-os-traits-2.9.0-0.20220913121852.fc91a78.el9.noarch DEBUG util.py:445: python3-oslo-cache-3.2.0-0.20221128115944.dde16ce.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-5.0.1-0.20220913105944.01cf2ff.el9.noarch DEBUG util.py:445: python3-oslo-config-2:9.0.0-0.20220913094852.9eaae04.el9.noarch DEBUG util.py:445: python3-oslo-context-5.0.0-0.20220910084952.f388eb9.el9.noarch DEBUG util.py:445: python3-oslo-db-12.1.0-0.20220929090402.7f3647b.el9.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220910085450.b031d17.el9.noarch DEBUG util.py:445: python3-oslo-log-5.0.0-0.20220910091625.6401da7.el9.noarch DEBUG util.py:445: python3-oslo-messaging-14.0.0-0.20220913121539.e44f286.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.5.0-0.20220913095319.fc22d0d.el9.noarch DEBUG util.py:445: python3-oslo-middleware-5.0.0-0.20220913100152.51e1882.el9.noarch DEBUG util.py:445: python3-oslo-policy-4.0.0-0.20220913100707.5bd767b.el9.noarch DEBUG util.py:445: python3-oslo-privsep-3.0.1-0.20220913140830.e62d408.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220909131700.1b1b960.el9.noarch DEBUG util.py:445: python3-oslo-serialization-5.0.0-0.20220910091027.dd2a819.el9.noarch DEBUG util.py:445: python3-oslo-service-3.0.0-0.20220913101925.a27acfe.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-2.0.0-0.20220913113658.b3a2b19.el9.noarch DEBUG util.py:445: python3-oslo-utils-6.0.1-0.20220910090500.760deb9.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-3.0.1-0.20220913115328.2b12029.el9.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20220913093411.d4b1896.el9.noarch DEBUG util.py:445: python3-osprofiler-3.4.3-0.20220913113327.3286301.el9.noarch DEBUG util.py:445: python3-paste-3.5.0-3.el9s.noarch DEBUG util.py:445: python3-paste-deploy-2.1.1-2.el9s.noarch DEBUG util.py:445: python3-pecan-1.4.2-2.el9s.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-proliantutils-2.14.0-0.20221123184856.de9759c.el9.noarch DEBUG util.py:445: python3-prometheus_client-0.9.0-2.el9s.noarch DEBUG util.py:445: python3-psutil-5.8.0-12.el9.x86_64 DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch DEBUG util.py:445: python3-pyasn1-0.4.8-6.el9.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20220909140437.4179996.el9.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-pyghmi-1.5.34-2.el9.noarch DEBUG util.py:445: python3-pynacl-1.4.0-2.el9s.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-8.el9s.noarch DEBUG util.py:445: python3-pyperclip-1.8.0-3.el9s.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-8.el9.x86_64 DEBUG util.py:445: python3-pysnmp-4.4.12-6.el9s.noarch DEBUG util.py:445: python3-pyyaml-5.4.1-6.el9.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-2.el9s.x86_64 DEBUG util.py:445: python3-redis-4.3.4-1.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220909080418.d7ac0ff.el9.noarch DEBUG util.py:445: python3-retrying-1.3.3-2.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.5.0-1.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-scciclient-0.12.2-0.20220914082215.5627307.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-simplejson-3.17.6-2.el9s.x86_64 DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.2-4.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-stestr-3.2.0-3.el9s.noarch DEBUG util.py:445: python3-stevedore-4.0.2-0.20221021075011.93f1e09.el9.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-sushy-4.3.2-0.20221128094849.6c521c5.el9.noarch DEBUG util.py:445: python3-swiftclient-4.1.0-0.20220913142202.662e530.el9.noarch DEBUG util.py:445: python3-tempita-0.5.2-2.el9s.noarch DEBUG util.py:445: python3-tenacity-6.3.1-1.el9s.noarch DEBUG util.py:445: python3-testresources-2.0.1-2.el9s.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch DEBUG util.py:445: python3-testtools-2.5.0-2.el9s.noarch DEBUG util.py:445: python3-tooz-3.1.0-0.20220929085219.cb0392c.el9.noarch DEBUG util.py:445: python3-uhashring-2.1-1.el9s.noarch DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.13.1-1.el9s.noarch DEBUG util.py:445: python3-warlock-1.3.3-5.el9s.noarch DEBUG util.py:445: python3-wcwidth-0.2.5-8.el9.noarch DEBUG util.py:445: python3-webob-1.8.7-1.el9s.noarch DEBUG util.py:445: python3-wrapt-1.14.1-1.el9s.x86_64 DEBUG util.py:445: python3-yappi-1.3.6-1.el9s.x86_64 DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.38.7-1.el9s.noarch DEBUG util.py:445: python3-zipp-3.6.0-1.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.x86_64 DEBUG util.py:445: syslinux-6.04-0.20.el9.x86_64 DEBUG util.py:445: syslinux-nonlinux-6.04-0.20.el9.noarch DEBUG util.py:445: xorriso-1.5.4-4.el9.x86_64 DEBUG util.py:445: Complete! 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-centos9-zed-x86_64-5-bootstrap/root/home/centos9-zed/data/repos/component/baremetal/b5/d2/b5d2fda30f0ec518d425e9cc333a18c654eac1f5_9b856ac7'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', '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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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-centos9-zed-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: ['umount', '-n', '/var/lib/mock/dlrn-centos9-zed-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos9-zed-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-centos9-zed-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-centos9-zed-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 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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-centos9-zed-x86_64-5-bootstrap/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